0

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

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

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

4

1 回答 1

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

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

于 2013-02-21T17:10:35.743 回答