2013-04-24 54 views

回答

1

問題是您還在調整畫布大小,因此縮放2次後,它的大小爲10000px * 10000px,意味着100萬像素,需要數百MB的內存。

如果保持畫布大小不變(如this)或將其限制爲足夠小的值,則縮放將按預期工作。

要保持一定的尺寸不變,你只需要刪除這兩條線:

canvas.setHeight(canvas.getHeight() * SCALE_FACTOR); 
canvas.setWidth(canvas.getWidth() * SCALE_FACTOR); 
+0

@ptCoder:沒錯,你的元素不走了!經過2倍放大後,它們僅在畫布下方向右側。注意縮放後出現的滾動條。向下滾動並向右滾動,您的元素仍然存在。 – markE 2013-04-24 20:46:19

+0

謝謝你的回覆。但是我需要大畫布來將畫布轉換爲300或600 DPI。我需要一個大的畫布大小。有沒有解決方法? – ptCoder 2013-04-24 20:46:22

+0

@markE,你使用的是什麼瀏覽器?一個具有10000x10000像素的畫布的新例子。你點擊放大6/7次和帆布desapear完整。請檢查此:http://jsfiddle.net/ptCoder/Q3TMA/95/ – ptCoder 2013-04-24 20:50:38