缩放画布与clipto无法正常工作

时间:2016-02-07 19:44:39

标签: javascript fabricjs zooming

使用 fabric.js ,当我使用setZoom()时,clipTo()没有响应并保持相同的宽度&高度。代码适用于canvas中的对象。我已经使用zoomToPoint进行了测试,但没有解决我的问题。

function zoomIn() {
zoomLevel += .2;

canvas.setZoom(zoomLevel);
canvas.setDimensions({
    width: my_canvas_width * zoomLevel,
    height: my_canvas_height * zoomLevel
});
}
我正在使用的

clipTo()代码:

canvas.clipTo = function(ctx) {
 ctx.rect(0,0,300,300);
}

为什么clipTo没有回复setZoom()的任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

指定您使用 fabric.js 非常重要。我不确定我是否正确理解了您的问题,clipTo保持不变的原因是因为行

canvas.setDimensions({
    width: my_canvas_width * zoomLevel,
    height: my_canvas_height * zoomLevel
});

设置图像尺寸几乎是剪裁图像,{<1}}在设置尺寸后将不起作用。

我认为您不需要这些线路,请参阅此JSFiddle example,其中500x500图像始终被剪裁为300x300。