当前位置:  开发笔记 > 编程语言 > 正文

记录和存储高分辨率手绘图

如何解决《记录和存储高分辨率手绘图》经验,为你挑选了2个好方法。

是否有任何先进的解决方案可以在JavaScript网站上捕获手绘图(从平板电脑,触摸屏或类似iPad的设备),并将其存储在服务器端?

从本质上讲,这将是一个简单的鼠标绘图画布,其特点是其分辨率(即每秒捕获的鼠标移动次数)需要非常高,否则图形中的圆线在移动笔时将变为"多边形"/鼠标快:

在此输入图像描述

(如果不是这种情况,@ Gregory建议的inputDraw解决方案将100%完美.)

它还必须具有高水平的图形质量,即抗冲击性能.没有什么花哨的,但MS Paint风格,1x1像素笔划不会削减它.

我发现这是一个非常有趣的事情,因为平板电脑至少变得更加普遍.(并不是说他们得到了我认为他们应得的关注).

任何建议都非常感谢.我更喜欢开源解决方案,但我也对ActiveX控件或Java Applet等专有解决方案持开放态度.

FF4,Chrome支持是必须的; Opera,IE8/9支持是理想的.

请注意,大多数"画布"库以及与我类似的其他问题的大多数答案都是指以编程方式绘制到画布上.这不是我想要的.我正在寻找能够记录用户在特定区域绘制的实际笔或鼠标移动的内容.

出于好奇心而开始赏金是否在此问题被问到的时间内是否有任何变化.

Breton.. 12

我怀疑你会得到比"onmousemove"事件更高的分辨率,而无需在为此目的定制的某些嵌入式系统上编写有效的汇编程序.你在一个操作系统内运行,你按照操作系统的规则进行游戏,这意味着你受操作系统给你的时间片频率的限制.(通常大约每秒100次,根据负载进行助焊)我没有使用可以克服"多边形"问题的平板电脑,而且我使用了一些高端平板电脑.Photoshop克服了立方插值的问题.

也就是说,除非你有一个非常特殊的平板电脑,它将捕获许多移动事件并将它们排队到一些内部缓冲区,并在将数据发送到操作系统时一次发送一整套坐标.我看过平板电脑api,但他们一次只给出一组坐标,所以如果要发生这种情况,你需要自定义硬件,自定义驱动程序和可以处理多个数据包的自定义api坐标.

或者你可以使用一个该死的画布标签,onmousemove事件,event.pageX | pageY一些立方插值,画布的"toDataURI"api,将结果发布到你的php脚本,然后只是说你做了所有其他花哨的东西.

在我的测试中,onmousemove将为每个像素的移动提供一个事件,仅受浏览器中事件循环的速度限制.您将获得具有快速移动的稀疏数据点(多边形),并且在没有大量研究资助和硬件设计者的情况下获得的效果非常好.应对.



1> Breton..:

我怀疑你会得到比"onmousemove"事件更高的分辨率,而无需在为此目的定制的某些嵌入式系统上编写有效的汇编程序.你在一个操作系统内运行,你按照操作系统的规则进行游戏,这意味着你受操作系统给你的时间片频率的限制.(通常大约每秒100次,根据负载进行助焊)我没有使用可以克服"多边形"问题的平板电脑,而且我使用了一些高端平板电脑.Photoshop克服了立方插值的问题.

也就是说,除非你有一个非常特殊的平板电脑,它将捕获许多移动事件并将它们排队到一些内部缓冲区,并在将数据发送到操作系统时一次发送一整套坐标.我看过平板电脑api,但他们一次只给出一组坐标,所以如果要发生这种情况,你需要自定义硬件,自定义驱动程序和可以处理多个数据包的自定义api坐标.

或者你可以使用一个该死的画布标签,onmousemove事件,event.pageX | pageY一些立方插值,画布的"toDataURI"api,将结果发布到你的php脚本,然后只是说你做了所有其他花哨的东西.

在我的测试中,onmousemove将为每个像素的移动提供一个事件,仅受浏览器中事件循环的速度限制.您将获得具有快速移动的稀疏数据点(多边形),并且在没有大量研究资助和硬件设计者的情况下获得的效果非常好.应对.



2> nacmartin..:

在oekaki世界中有一些小程序:Shi painter,Chibipaint或PaintBBS.这里有集成的php类.

这些小程序生成的图纸质量非常好.如果您在oekakicentral.com注册,您可以看到所有的画廊和一些绘图都有一个动画链接,显示它是如何绘制的(它取决于小程序),因此您可以比较小程序的可能性.其中一些是开源的.

编辑:又见这个在HTML 5制作.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有