1

我想用javascript创建一个图像:在一些像对象的画布上画线、弧、文本等,然后将它(在客户端)转换为base-64 png字符串。

我知道我可以使用 html5 画布(使用 canvas.toDataUrl("image/png"))来做到这一点,但我需要一些可以在 IE7/IE8 中使用的东西。

解决方案必须完全在客户端,因此获取 SVG,将其发送到服务器然后使用 Apache Batik 进行转换对我来说不起作用。

我找到了将位图(2d 像素数组)转换为 png - http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/ 所以如果有一些库可以从某种矢量图形数据生成位图(或具有某些 getPixelAt(x,y) 功能),这可能会有所帮助。

谢谢,约阿夫

4

2 回答 2

1

你可以试试fabricjs。它使用画布,但与 IE7/8 兼容(感谢 Excanvas 库)并具有您正在寻找的所有功能。

它在文档方面缺少一点,但是开发人员 Kangax 在这里和Google 小组项目中非常活跃,所以任何疑问都应该很快得到解决。

于 2012-04-17T14:15:08.860 回答
0

我也在寻找解决方案。原始的 javascript pnglib 非常好,但在现代 javascript 环境中编译时不会出错。我已经修复了错误,将其转换为 ES6,并使用类型数组使其更快。看一看:

https://github.com/IjzerenHein/pnglib-es6

于 2016-08-25T10:44:36.680 回答