首页 > 解决方案 > EaselJS:有没有办法将形状导出到图像文件?

问题描述

我在 CreateJS 中有一个项目,我想在没有CreateJS 的情况下重新制作,但似乎我所有的图像都是 EaselJS 形状格式。例如:

this.shape_1 = new cjs.Shape();
this.shape_1.graphics.f("#465762").s().p("AgOAOQgFgFAAgJQAAgHAFgHQAHgFAHgBQAIABAHAFQAFAHAAAHQAAAJgFAFQgHAHgIgBQgHABgHgHg");
this.shape_1.setTransform(43.4,42,0.747,0.747);

有什么方法可以用来将其导出到图像文件中吗?

标签: createjseaseljs

解决方案


您可以通过缓存来导出任何 EaselJS DisplayObject,然后导出 dataURL。请注意,您必须知道原始界限。如果您想要更大的缓存,只需增加scale参数即可。

this.shape_1.cache(x, y, w, h, [scale]);
var url = this.shape_1.getCacheDataURL();

不幸的是,此方法不支持 Canvas.toDataURL() 的参数,因此如果需要,可以直接访问缓存:

this.shape_1.target.cacheCanvas.toDataURL(…[type], [encoderOptions]);

然后,您可以通过多种方式使用 dataURL。这是一篇关于它的文章。或者,只需将生成的缓存扔到 DOM 中,然后右键单击它即可保存。

document.body.appendChild(this.shape_1.target.cacheCanvas);

文件:


推荐阅读