EaselJS:有没有办法将形状导出到图像文件?

EaselJS: Is there any way to export a shape to an image file?

我在 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);

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

您可以通过缓存导出任何 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。这是 an article 就可以了。或者,直接把生成的缓存丢进DOM,然后右击保存即可。

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

文档: