有人知道是否有办法'导出'整个KineticJS图层(或组)而不仅仅是可见画布中的部分?
我有一个简单的'图像编辑器',允许用户在画布中缩放图像,图像可以有意地缩放到比可见画布舞台区域更大,允许用户将图像部分平移到视图中。问题是,当他们来导出图像(当前使用toDataURL)时,只保存可见画布阶段中图像的部分,图像的其余部分将被丢弃!
我实际上想要保存整个图层,而不仅仅是在可见画布阶段渲染的内容。
答案 0 :(得分:1)
嗯,你需要一个临时的解决方法。
我假设你有一个函数或者什么做.toDataURL()。
在你做toDataURL()之前,改变舞台大小或比例,然后保存,然后改回来。
示例:
function save(){
stage.setScale(newX,newY); //rescale to new values
stage.setWidth(newWidth);
stage.setHeight(newHeight);
stage.toDataURL(); // <----- save
stage.setScale(oldX,oldY); //rescale to old values
stage.setWidth(oldWidth);
stage.setHeight(oldHeight);
}
这将调整舞台的大小或重新缩放,然后按原样重新播放。