我想开发一个应用程序,用户应该能够绘制对象(圆圈/椭圆),通过线/箭头连接它们并拖放它们,向它们添加文本等。当然我还必须编写 eventHandling。
什么最适合它?您更愿意选择 gwt-graphics 还是 GWTCanvas?
我想开发一个应用程序,用户应该能够绘制对象(圆圈/椭圆),通过线/箭头连接它们并拖放它们,向它们添加文本等。当然我还必须编写 eventHandling。
什么最适合它?您更愿意选择 gwt-graphics 还是 GWTCanvas?
我个人会选择 gwt-graphics。这是我更了解的一种,它可以根据我的需要(我认为你也是)对图形进行尽可能多的控制,并且大多数事件已经实现,所以你需要编写的逻辑将是最小的。
另一方面,IExplorer 不能很好地支持 SVG,如果向量变得很多,您将遇到兼容性问题。
如果是 HTML 5,Canvas 将为您提供像素级控制 - 我认为您的项目中并非如此 - 但也会导致 - 没有解决方法 - 这是一种专业的方法。
总之,我认为这取决于您希望用户在使用画布时拥有的控制级别以及您希望自己完成的工作级别。
基于我所知道的,GWT-Graphics 是基于 SVG 的。而 GWTCanvas(实际上是 GWT 主线的一部分)基于 canvas 元素。
现在,快速比较。对于所有拖放操作,SVG 更容易和更快(当 o 在我有大量元素时测试拖放时,我基于画布的程序比基于 SVG 的类似程序慢得多
基于 SVG 的库的其他优点是所有浏览器都不支持画布(实际上旧版本的 ie 可能有一些问题)
另一方面,当您需要绘制大量对象时,画布要快得多,画布绝对是您的选择。