可以导出KineticJS完整层

时间:2013-02-21 15:01:00

标签: javascript kineticjs

有人知道是否有办法'导出'整个KineticJS图层(或组)而不仅仅是可见画布中的部分?

我有一个简单的'图像编辑器',允许用户在画布中缩放图像,图像可以有意地缩放到比可见画布舞台区域更大,允许用户将图像部分平移到视图中。问题是,当他们来导出图像(当前使用toDataURL)时,只保存可见画布阶段中图像的部分,图像的其余部分将被丢弃!

我实际上想要保存整个图层,而不仅仅是在可见画布阶段渲染的内容。

1 个答案:

答案 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);
 }

这将调整舞台的大小或重新缩放,然后按原样重新播放。