Pocket PC 的 LooLoo 电子贺卡编辑器
从您的 Pocket PC 发送个性化的 Flash 电子贺卡。
引言
此应用程序旨在个性化您的电子贺卡。 有了它,您可以使用“中国毛笔”绘制您的卡片,当然是用手写笔模拟的,然后从您的 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# 代码时,您可能会发现一些差异。 这是因为我对此算法进行了一些优化。
结论
我为移动开发者竞赛编写了这个应用程序。 如果您发现它有用且有趣,我将非常高兴。