【发布时间】:2019-01-28 01:29:51
【问题描述】:
我正在使用 fabric.js 来定义可以调整大小的矩形区域。我想知道是否有任何方法可以设置结构,以便通过更改宽度/高度属性而不是 scaleX 和 scaleY 来调整元素的大小?
【问题讨论】:
标签: javascript fabricjs
我正在使用 fabric.js 来定义可以调整大小的矩形区域。我想知道是否有任何方法可以设置结构,以便通过更改宽度/高度属性而不是 scaleX 和 scaleY 来调整元素的大小?
【问题讨论】:
标签: javascript fabricjs
您可以使用object:scaling 事件。
canvas.on("object:scaling", function(e) {
var target = e.target;
if (!target || target.type !== 'rect') {
return;
}
var sX = target.scaleX;
var sY = target.scaleY;
target.width *= sX;
target.height *= sY;
target.scaleX = 1;
target.scaleY = 1;
});
【讨论】:
你应该设置脏标志,它为我解决了大部分问题:
canvas.on("object:scaling", function (e) {
var target = e.target;
if (!target || target.type !== 'rect') {
return;
}
var sX = target.scaleX;
var sY = target.scaleY;
target.width *= sX;
target.height *= sY;
target.scaleX = 1;
target.scaleY = 1;
target.dirty = true;
});
【讨论】: