调整fabricjs Rects的宽度/高度属性

时间:2016-02-01 22:09:01

标签: javascript fabricjs

我使用fabric.js来定义可以调整大小的矩形区域。我想知道是否有任何方法来设置结构,以便通过更改宽度/高度属性而不是scaleX和scaleY来调整元素的大小?

2 个答案:

答案 0 :(得分:5)

您可以使用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;
});

答案 1 :(得分:0)

您应该设置脏标志,该标志为我解决了大多数问题:

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;
        });