createjs - 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);
有什么方法可以用来将其导出到图像文件中吗?
解决方案
您可以通过缓存来导出任何 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);
文件:
推荐阅读
- git - Git克隆错误:索引包死于信号9
- swift - AppDelegate 中关于 mainView (xcode11) 的未解决错误
- c++ - 如何在 Visual Studio 中安装 (v142) 构建工具
- reactjs - Redux-form Fields 默认情况下,当文本框变为空时初始值消失
- jquery - 如何在点击切换开关时增加价值?
- c# - 如何在表单提交时将 foreach 中的 viewbag 值从视图传递到控制器
- c++ - 编译“set_ssl_context_callback”时出错:在 Windows 上
- c# - .Net - 在 DataTable 中查找最大值
- draftjs - 如何将内容状态推送到当前编辑器状态?editorState.push 方法似乎对我不起作用?
- java - Windows 10 的 Jhipster 编译错误