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