65.9K
CodeProject 正在变化。 阅读更多。
Home

Pocket PC 的 LooLoo 电子贺卡编辑器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.31/5 (23投票s)

2004年5月20日

CPOL

4分钟阅读

viewsIcon

62774

downloadIcon

173

从您的 Pocket PC 发送个性化的 Flash 电子贺卡。

Sample Image - looloo_editor.gif

引言

此应用程序旨在个性化您的电子贺卡。 有了它,您可以使用“中国毛笔”绘制您的卡片,当然是用手写笔模拟的,然后从您的 PocketPC 发送给您的朋友。 几秒钟后,您的朋友将收到这张特殊的电子贺卡。 这是一个 示例电子贺卡(点击此链接),我从我的 Pocket PC 模拟器发送。 我还没有在真正的 PDA 上测试过它。 如果您能做到,请给我一些反馈或错误报告。

它是如何工作的?

对其工作流程的概述可能有助于您很好地理解此应用程序。 首先,您使用手写笔绘制您的电子贺卡,它将被模拟为中国毛笔。 据说 PocketPC 屏幕将具有“压力敏感性”。 您在屏幕上按得越用力,笔触就越大。 这是应用程序中的一个关键算法。 我将在下一节中简要解释它。 您可以在运行时更改画笔大小和画笔颜色(参见图 1)。

图 1. 界面

当您绘制卡片时,您的绘画轨迹将被记录在后台。 如果您认为您的卡片不够精彩,请单击“新建”按钮将其丢弃并开始新的卡片。 “清除”功能与此不同,它不会丢弃当前卡片,而只是清除屏幕以进行更多绘画。 您可以随时通过单击“播放”按钮来预览您的卡片。 当您对您的卡片满意时,请单击“发送”按钮,将弹出一个发送表单(参见图 2)。 在这里,您输入一些必要的信息以发送您的电子贺卡。

图 2. 发送表单

现在,您的卡片将通过网络服务发送,请查看 此 URL 以了解更多详细信息。

您的卡片将被保存在数据库中,并将发送两封电子邮件,一封给您,另一封给您的朋友。 如果您的朋友使用 Outlook 或其他支持嵌入式 Flash 的电子邮件软件打开此电子邮件,他/她可以直接阅读您的卡片,请看图 3

图 3. 使用 Outlook Express 打开 LooLoo 电子贺卡

如果他/她无法查看 Flash 动画,他/她可以单击 URL(查看第 2 行,有一个链接“OpenVue.net”),然后 Internet Explorer 或其他网络浏览器将打开一个 LooLoo 电子贺卡(参见图 4),当然应该已经安装了 Flash Player 插件。

图 4. 使用 Internet Explorer 打开 LooLoo 电子贺卡

请注意,从此页面,他/她还可以通过单击“下载”链接将电子贺卡下载为单个 Flash 文件 (.swf)。 真酷,不是吗?

算法

如何模拟压力敏感垫/屏幕对您来说可能是一个有趣的问题。 现在,我想简要介绍一下这个算法。

几年前,当我使用 Corel Painter 时,我被它丰富的艺术画笔所震惊。 作为好奇的人,我尝试从 Google 搜索这样的算法,但失败了。 这似乎是一个秘密。 两周前,我有一个想法,设计一个电子贺卡系统,允许您使用中国毛笔绘制电子贺卡,现在我必须自己开发一种艺术画笔算法。 幸运的是,我在一个周末内编写了一个,而且它似乎运行良好。

当然,使用普通的鼠标/手写笔,无法获得任何压力信息。 但我们可以假设压力和鼠标/手写笔停留在同一位置的时间间隔之间存在一个缩放关系。 现在,对于鼠标/手写笔轨迹中的每个点,我们应该存储两个信息:它的坐标 (x, y) 和鼠标/手写笔停留在该点的时间间隔。 参见图 5。 让我们假设鼠标移动轨迹上有三个点:P1、P2 和 P3。 它们各自的鼠标停留时间间隔分别为 0.002ms、0.001ms 和 0.003ms。 这是第一步,存储必要的信息。

图 5. 模拟压力敏感垫/屏幕的理论

现在是第 2 步,我们计算围绕这三个点的一些圆,它们的半径与它们的鼠标停留时间间隔之间存在一个缩放关系。 最后一步,连接这些圆并将它们填充为指定的颜色。 这是背后的基本理论。 但是,当您查看我的 C# 代码时,您可能会发现一些差异。 这是因为我对此算法进行了一些优化。

结论

我为移动开发者竞赛编写了这个应用程序。 如果您发现它有用且有趣,我将非常高兴。

© . All rights reserved.