2013-02-14 154 views
1

我使用canvas和kineticjs创建图像编辑器。在该过程结束时,我将整个画布导出为图像。用kineticjs缩放(缩放)整个画布

我的问题是,我想缩小编辑窗口,即使用500x500画布导出1000x1000图像。

到目前为止,我所做的是按比例缩放所有画布元素,然后在导出时将舞台尺寸设置为所需的尺寸。问题是这会扩大图像大小,但不是画布中的元素。

任何关于如何缩小可见画布但输出完整大小的图像的其他想法?

+0

你能展示一些缩放代码吗?你有没有试过stage.setScale(x,y)? – SoluableNonagon 2013-02-14 15:01:56

+0

是的,这样会缩放舞台中元素的大小,但不是舞台本身,允许将项目拖到场外应该出现的位置 – LobsterMan 2013-02-14 15:39:45

+0

,还可以动态调整舞台的大小,例如stage.setWidth()和stage.setHeight() – SoluableNonagon 2013-02-14 15:41:37

回答

1

玩耍,并与来自@EliteOctagon一些帮助后,这里是我的解决方案:

  1. 设定一个比例系数
  2. 变量保存原始大小
  3. 创建阶段,两者的规模(为内元素)和按比例缩小的高度/宽度(对于画布本身)
  4. 保存图像时,暂时设定高度/宽度到原始和缩放因子到1