2013-04-24 91 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