2

我正在尝试使用 html 5 画布开发绘图工具。当我搜索一个好的 HTML 5 javascript 库时,它们中的大多数只专注于生成静态图像或动画。我正在寻找的是绘制矩形、圆形等原始形状并向它们添加点击事件的能力。我还应该能够使用手柄转换形状。

我知道我可能需要定制一些框架,但仍然......如果有一个具有这些功能的现有框架,那会很高兴知道。谢谢

[编辑] 感谢您的回复。顺便说一句,我在某些地方读到 SVG 将适用于我计划做的所有交互式内容,而不是画布。现在我完全糊涂了:(

4

3 回答 3

3

Paper.js

根据他们的网站:

Paper.JS是一个在 HTML5 Canvas 之上运行的开源矢量图形脚本框架。

为您可以使用鼠标(或触摸屏)执行的不同操作提供鼠标处理程序。

三.js

javascript 中的另一个图形库是three.js。根据他们的网站:

该项目的目的是创建一个复杂度非常低的轻量级 3D 库——换句话说,是为假人设计的。该库提供 canvas、svg 和 WebGL 渲染器。

我不确定在库中处理鼠标事件的支持有多好。以下 SO 问题处理了一个示例:Three.js 中几何的事件处理?

于 2012-06-29T16:58:45.213 回答
2

这看起来非常适合您的需求: http: //fabricjs.com/demos/

这是一个简单的正方形示例,您可以使用鼠标移动和调整大小:http: //fabricjs.com/controls/

来自http://fabricjs.com/

使用 Fabric.js,您可以在画布上创建和填充对象;对象,例如简单的几何形状——矩形、圆形、椭圆形、多边形或更复杂的形状,由数百或数千条简单路径组成。

然后,您可以使用鼠标缩放、移动和旋转这些对象;修改它们的属性——颜色、透明度、z-index 等。您还可以完全操纵这些对象——通过简单的鼠标选择将它们分组。

于 2012-06-29T16:59:34.223 回答
1

KineticJS

现场说明:

KineticJS 是一个 HTML5 Canvas JavaScript 框架,它支持高性能动画、过渡、节点嵌套、分层、过滤、缓存、桌面和移动应用程序的事件处理等等。

它可以绘制原始形状(矩形、圆形,甚至斑点)
它有许多事件处理程序(单击、悬停、拖动等)
然后您还可以为它们设置动画(移动、旋转、缩放)
您还可以应用过滤器(灰度、模糊,反转)

你可以在这里找到很多例子和教程,这里有一个截图:

KineticJS 的一个例子


编辑

KineticJS 不再维护。

您还应该尝试Paper.jsRaphaël

于 2014-06-02T16:00:49.930 回答