有谁知道是否有办法“导出”整个 KineticJS 层(或组),而不仅仅是可见画布中的部分?
我有一个简单的“图像编辑器”,允许用户在画布中缩放图像,可以故意将图像缩放到大于可见的画布舞台区域,从而允许用户将图像部分平移到视图中。问题是,当他们来导出图像时(当前使用 toDataURL),只有可见画布阶段中的图像部分被保存,图像的其余部分被丢弃!
我实际上想保存整个图层,而不仅仅是在可见画布阶段呈现的内容。
有谁知道是否有办法“导出”整个 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);
}
这将调整您的舞台大小或重新缩放,然后将其放回原样。