如何调整“基于点”的多边形或其他Fabricjs实体的大小而不缩放它们?
缩放会增加对象的strokeWidth,我想覆盖此行为。
我是这样为矩形做的:
/** Resize instead of scaling example */
this.on({
'scaling': function(e) {
var obj = this;
obj.width = obj.scaleX * obj.width;
obj.height = obj.scaleY * obj.height;
obj.scaleX = 1;
obj.scaleY = 1;
}
});
一个椭圆的例子:
this.on({
'scaling': function(e) {
var obj = this;
obj.width = obj.scaleX * obj.width;
obj.height = obj.scaleY * obj.height;
obj.ry = obj.ry * obj.scaleY;
obj.rx = obj.rx * obj.scaleX;
obj.scaleX = 1;
obj.scaleY = 1;
}
});
我的问题有所不同,因为用户可以手动编辑在画布上绘制的对象属性。
例如,如果我绘制一个多边形并应用scaleRatio为2,如果将strokewidth值设置为1,则fabric将在我的多边形上呈现一个1 * scaleRatio边框。
这就是我要像对fabric.Rect或fabric.Ellipse那样使用真实的“重绘”行为来搜索比例行为的原因。
答案 0 :(得分:1)
从Fabric.js 2.7.0版开始,现在有了strokeUniform属性,该属性在启用时可以防止笔划宽度受对象的比例值影响。
START END
0 2019-01-01 11:00:00 2019-01-01 14:00:00
1 2019-01-01 15:00:00 2019-01-01 16:00:00
2 2019-01-01 18:00:00 2019-01-01 22:00:00
3 2019-01-01 23:00:00 2019-01-02 01:00:00