首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否已经有针对AngularJS的画布绘制指令?

是否已经有针对AngularJS的画布绘制指令?
EN

Stack Overflow用户
提问于 2013-05-16 20:50:53
回答 3查看 61.2K关注 0票数 51

是否已经有在画布上绘制/绘制对象的指令?所以你可以实现像画图这样的东西,甚至像Photoshop等更大的东西,但一个非常基本的例子就足够了。

我在搜索中没有找到一个,如果已经有一个被认为是最佳实践,我想使用它。否则我必须自己实现一个。

EN

回答 3

Stack Overflow用户

发布于 2013-05-16 21:09:34

Angular非常适合于以声明式的方式编写应用程序。一旦你碰到了画布元素,你就不能再使用声明式了,你必须转向一种命令式的编写机制。如果您的应用程序的大部分都提供UI,那么我强烈建议您使用AngularJS。这是一个令人惊叹的框架。

另一方面,如果您的大部分代码将放在canvas元素中,那么AngularJS可能不是您的理想工具。如果你真的坚持在你的大部分应用程序中使用AngularJS,我建议你考虑使用像D3这样的东西,这是一个很好的替代方案,它在幕后使用SVG (它本质上是声明性的,因此是AngularJS的一个很好的助手)。

票数 12
EN

Stack Overflow用户

发布于 2015-04-06 15:19:29

不久前,我为此构建了一个可配置的指令。

https://github.com/pwambach/angular-canvas-painter

该指令创建canvas元素,并向该元素添加mousedown/mousemove/mouseup事件(以及相应的触摸事件)的处理程序。Mousedown和后续mousemove事件使用canvasContext.quadraticCurveTo()方法绘制贝塞尔曲线,以获得更平滑的笔触(而不仅仅是为每个点绘制圆)。有关绘图算法的详细信息,请参阅本文:http://codetheory.in/html5-canvas-drawing-lines-with-smooth-edges/

票数 5
EN

Stack Overflow用户

发布于 2016-11-19 00:33:18

这是一个非常好的实现!如果您想转换图像上的画布,我可以添加该方法

代码语言:javascript
复制
    function convertCanvasToImage(canvas) {
       var image = new Image();
       image.src = canvas.toDataURL("image/png");
       return image;
    }

这将使您的源为base64元素的图像标记。

希望能对你有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16587961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档