2013-02-14 205 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