javascript - 钛合金静态和动态绘图/绘画

标签 javascript drawing titanium titanium-mobile titanium-modules

我正在开发一个应用程序(适用于 iOS 和 Android),其中我需要允许用户从图库中选择照片并通过在图像上绘图来圈出某些项目。一旦用户完成绘制,系统就会提示他在弹出窗口中为该项目命名。命名项目后,该项目将添加到项目表中,并且箭头会自动连接圆圈和项目。照片和项目都有单独的表格。

我使用Ti.Paint进行绘图,但它只支持通过手指动态(手动)绘图。该模块没有任何方法以编程方式绘制直线、圆形等形状。此外,它不提供触摸事件,因此我无法检测用户何时停止绘图。然后我使用了Ti.Canvas,但它只支持静态绘图,即用户不能用手指动态绘图,而且它只支持iOS。我在两天内尝试了很多触摸事件来做到这一点,但没有成功。这是我使用 Ti.Canvas 进行触摸绘图的代码:

      canvas.addEventListener('touchstart',function(e) {
          canvas.begin();
          canvas.beginPath();
          canvas.moveTo(e.x,e.y);
      })

      canvas.addEventListener('touchmove',function(e) {
          canvas.lineTo(e.x,e.y);
          canvas.stroke();
      })

      canvas.addEventListener('touchend',function(e) {
          canvas.commit();
      })

但不幸的是这不起作用。有人可以告诉我如何解决这个问题吗?是否存在一些模块或库支持静态(编程)和手动(通过触摸)绘图。我将非常感激。谢谢。

最佳答案

我知道我有一个使用 touchend 的例子。在这个示例代码中,在 IOS 和 Android 上的操作可能不一样,有一个 touchend 的示例。 http://developer.appcelerator.com/blog/2010/05/building-an-advanced-transaction-ui-with-titanium.html

Ti.Paint 模块的源代码已可用,您可以向其中添加所需的功能。 https://github.com/appcelerator/titanium_modules/tree/master/paint

如果您不想走这条路,有一个 Canvas 模块可以让您创建线条,尽管我还没有测试过它。这似乎是 IOS 特定的。 https://github.com/appcelerator/titanium_modules/tree/master/canvas/mobile/ios

对于Android,看起来有一个模块。 https://marketplace.appcelerator.com/apps/5941?494596078

所以你有一些选择可以考虑。

关于javascript - 钛合金静态和动态绘图/绘画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543734/

相关文章:

javascript - Android 设备高度在钛手机上不准确

javascript - 在 httpClient 上发送带有方括号的 post params

javascript - 如何找到表格中第一个文本框的值?

networking - 生成图形的图片/图形

jquery - 可以嵌入网站中用作在线绘图工具的绘图/素描小部件

language-agnostic - 给定圆心画一个等边三角形

javascript - 默认情况下,在 asp.net web 表单中,它将有两个 aspNetHidden Div,我如何删除它

Javascript - 当选择选项时显示文本字段

javascript - 你会如何调试这个 javascript 问题?

javascript - 钛加速器代码缩小