Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FabricJs 1.7.18 scaleToWidth()未设置给定宽度_Javascript_Html_Canvas_Fabricjs - Fatal编程技术网

Javascript FabricJs 1.7.18 scaleToWidth()未设置给定宽度

Javascript FabricJs 1.7.18 scaleToWidth()未设置给定宽度,javascript,html,canvas,fabricjs,Javascript,Html,Canvas,Fabricjs,根据,我已经构建了fabricJs版本1.7.18,并启用了所有功能- 我使用下面的代码使用scaleToWidth()更改对象的宽度和高度,但新的宽度值设置不正确。它是用其他值设置宽度 var obj = canvas.getActiveObject(); obj.scaleX = 1; obj.scaleY = 1; obj.scaleToWidth(65); obj.setCoords(); canvas.renderAll(); //This gives a different w

根据,我已经构建了fabricJs版本1.7.18,并启用了所有功能-

我使用下面的代码使用scaleToWidth()更改对象的宽度和高度,但新的宽度值设置不正确。它是用其他值设置宽度

var obj = canvas.getActiveObject();

obj.scaleX = 1;
obj.scaleY = 1;
obj.scaleToWidth(65);
obj.setCoords();

canvas.renderAll();

//This gives a different width value
console.log(obj.getWidth()); 
有人能帮我解决这个问题吗

我的实际要求是: 设置对象宽度时相对设置高度。 例子: 我有一个50宽40高的物体。如果我使用函数setWidth()将宽度设置为100,那么是否有任何内置函数将高度设置为80?

如中所述,根据边界框将对象缩放到给定宽度(按x/y等比缩放)

getWidth
返回对象边界框计数转换的宽度

如果只想设置对象的宽度,请使用
obj.width=value

可以使用或scaleX()、scaleY()缩放对象

演示

(函数(){
var canvas=this.\uu canvas=newfabric.canvas('c');
var rect=new fabric.rect({
左:50,顶:50,宽:50,高:40
})
canvas.add(rect);
直尺(2);
rect.setCoords();
console.log(rect.height,rect.scaleY)
})();
画布{
边框宽度:1pz;
边框样式:实心;
边框颜色:#000;
}


谢谢。我对这个问题作了修改。你能检查一下吗?好的。谢谢你的帮助。