我想在图像中包含矩形并编写以下代码。调整大小后它不起作用,因为调整大小后活动对象的宽度和高度似乎没有更新。
这是jsfiddle:https://jsfiddle.net/yxchng/0hL2khro/191/
canvas.on("object:moving", function(opt) {
activeObject = canvas.getActiveObject()
if (activeObject.left < 0) {
activeObject.left = 0;
}
if (activeObject.top < 0) {
activeObject.top = 0;
}
if (activeObject.left + activeObject.width > 1000) {
activeObject.left = 1000 - activeObject.width;
}
if (activeObject.top + activeObject.height > 1000) {
activeObject.top = 1000 - activeObject.height;
}
activeObject.setCoords();
});
是否有更好的方法在图像中包含对象?
答案 0 :(得分:2)
如果您只考虑缩放(不倾斜);
更新的值将是
height = object.height * object.scaleY;
width = object.width * object.scaleX;
对于fabricjs V 2.x
使用getScaledHeight和getScaledWidth分别返回对象边界框计数转换的高度和宽度。