我正在尝试使用 html 5 画布开发绘图工具。当我搜索一个好的 HTML 5 javascript 库时,它们中的大多数只专注于生成静态图像或动画。我正在寻找的是绘制矩形、圆形等原始形状并向它们添加点击事件的能力。我还应该能够使用手柄转换形状。
我知道我可能需要定制一些框架,但仍然......如果有一个具有这些功能的现有框架,那会很高兴知道。谢谢
[编辑] 感谢您的回复。顺便说一句,我在某些地方读到 SVG 将适用于我计划做的所有交互式内容,而不是画布。现在我完全糊涂了:(
我正在尝试使用 html 5 画布开发绘图工具。当我搜索一个好的 HTML 5 javascript 库时,它们中的大多数只专注于生成静态图像或动画。我正在寻找的是绘制矩形、圆形等原始形状并向它们添加点击事件的能力。我还应该能够使用手柄转换形状。
我知道我可能需要定制一些框架,但仍然......如果有一个具有这些功能的现有框架,那会很高兴知道。谢谢
[编辑] 感谢您的回复。顺便说一句,我在某些地方读到 SVG 将适用于我计划做的所有交互式内容,而不是画布。现在我完全糊涂了:(
Paper.js
根据他们的网站:
Paper.JS是一个在 HTML5 Canvas 之上运行的开源矢量图形脚本框架。
和
为您可以使用鼠标(或触摸屏)执行的不同操作提供鼠标处理程序。
三.js
javascript 中的另一个图形库是three.js。根据他们的网站:
该项目的目的是创建一个复杂度非常低的轻量级 3D 库——换句话说,是为假人设计的。该库提供 canvas、svg 和 WebGL 渲染器。
我不确定在库中处理鼠标事件的支持有多好。以下 SO 问题处理了一个示例:Three.js 中几何的事件处理?
这看起来非常适合您的需求: http: //fabricjs.com/demos/
这是一个简单的正方形示例,您可以使用鼠标移动和调整大小:http: //fabricjs.com/controls/
使用 Fabric.js,您可以在画布上创建和填充对象;对象,例如简单的几何形状——矩形、圆形、椭圆形、多边形或更复杂的形状,由数百或数千条简单路径组成。
然后,您可以使用鼠标缩放、移动和旋转这些对象;修改它们的属性——颜色、透明度、z-index 等。您还可以完全操纵这些对象——通过简单的鼠标选择将它们分组。