【问题标题】:Which HTML 5 Canvas Javascript to use for making an interactive drawing tool?哪个 HTML 5 Canvas Javascript 用于制作交互式绘图工具?
【发布时间】:2012-06-29 16:52:32
【问题描述】:

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

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

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

【问题讨论】:

  • 你想构建什么样的绘图工具?是 2D 工具还是 3D 工具?

标签: javascript html html5-canvas


【解决方案1】:

Paper.js

根据他们的网站:

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

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

三个.js

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

该项目的目的是创建一个轻量级的 3D 库,其中包含 非常低的复杂性——换句话说,对于傻瓜来说。这 库提供 canvas、svg 和 WebGL 渲染器。

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

【讨论】:

  • Three.js 是一个 3D 库,而 Paper.JS 是一个 2D 库。
【解决方案2】:

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

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

来自http://fabricjs.com/

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

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

【讨论】:

    【解决方案3】:

    KineticJS

    现场说明:

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

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

    你可以找到很多examples and tutorials here,这是一张截图:


    编辑

    KineticJS 不再维护。

    您也应该尝试Paper.jsRaphaël

    【讨论】:

    • 这个库不再维护。
    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 2021-09-15
    • 1970-01-01
    • 2010-09-25
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    相关资源
    最近更新 更多