我在canvas中使用fabric.js时遇到问题。使用比例因子调整大小5倍后,单击ZoomIn 2次,画布上的元素将消失。请查看:http://jsfiddle.net/ptCoder/Q3TMA/90/
画布尺寸(仅举例):
<canvas id="c" width="400" height="400"></canvas>
缩放比例因子:
var SCALE_FACTOR = 5;
有没有解决方案?
谢谢。
答案 0 :(得分:1)
问题是你也在调整画布大小,所以在缩放2次之后,它的大小是10000px * 10000px,意思是100万像素,需要几百兆的内存。
如果保持画布大小不变(例如this),或将其限制为足够小的值,则缩放按预期工作。
要保持大小不变,您只需删除这两行:
canvas.setHeight(canvas.getHeight() * SCALE_FACTOR);
canvas.setWidth(canvas.getWidth() * SCALE_FACTOR);