Fabricjs 宽度和 getWidth()
Fabricjs width and getWidth()
我有一个算法可以渲染具有宽度和高度的对象。但是当我使用 setWidth()
时,该对象实际上并没有得到那个宽度,它以某种方式得到了我给它的宽度的 x2 之类的东西。检查下面的代码:
var width = canvas.getWidth();
obj.setWidth(width);
obj.setCoords();
console.log(obj.getWidth());
console.log(obj.width);
第一个日志宽度错误"x2",第二个日志宽度正确。
我一直在为类似的事情而苦苦挣扎,所以我测试了(使用 fabricjs 1.6.2)并发现 fabric.Rect
rect.width
不等于 rect.getWidth()
rect.width
给出不考虑矩形的宽度 strokeWidth
rect.getWidth()
考虑矩形的 strokeWidth
另外请记住,默认情况下笔画一半在对象边缘内,一半在对象边缘外,因此例如 strokeWidth
of 10 会将矩形的感知大小扩大 5 + 5 = 10
像素。
希望对您有所帮助。
我有一个算法可以渲染具有宽度和高度的对象。但是当我使用 setWidth()
时,该对象实际上并没有得到那个宽度,它以某种方式得到了我给它的宽度的 x2 之类的东西。检查下面的代码:
var width = canvas.getWidth();
obj.setWidth(width);
obj.setCoords();
console.log(obj.getWidth());
console.log(obj.width);
第一个日志宽度错误"x2",第二个日志宽度正确。
我一直在为类似的事情而苦苦挣扎,所以我测试了(使用 fabricjs 1.6.2)并发现 fabric.Rect
rect.width
不等于 rect.getWidth()
rect.width
给出不考虑矩形的宽度 strokeWidth
rect.getWidth()
考虑矩形的 strokeWidth
另外请记住,默认情况下笔画一半在对象边缘内,一半在对象边缘外,因此例如 strokeWidth
of 10 会将矩形的感知大小扩大 5 + 5 = 10
像素。
希望对您有所帮助。