Javascript 可以导出KineticJS完整层

Javascript 可以导出KineticJS完整层,javascript,kineticjs,Javascript,Kineticjs,有人知道是否有办法“导出”整个KineticJS层(或组),而不仅仅是可见画布中的部分吗 我有一个简单的“图像编辑器”,允许用户缩放画布中的图像,可以故意将图像缩放到大于可见画布舞台区域的大小,从而允许用户将图像部分平移到视图中。问题是,当他们要导出图像(当前使用toDataURL)时,只有可见画布阶段中的图像部分被保存,图像的其余部分被丢弃 实际上,我想保存整个层,而不仅仅是可见画布阶段中渲染的内容。好吧,您需要一个临时解决方案 我假设您有一个函数或类似的函数。toDataURL() 在执行t

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

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


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

好吧,您需要一个临时解决方案

我假设您有一个函数或类似的函数。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);
 }
函数保存(){
stage.setScale(newX,newY);//重新缩放到新值
stage.setWidth(newWidth);
舞台设置高度(新高度);

stage.toDataURL();//你知道了。你需要运行
stage.draw()
来正确获取图像,而不需要来回设置宽度/高度。