所以我的画布上有一个图像,我试图使图像适合画布(我希望画布内的图像与画布大小相同)。我使用scaleToWidth()和scaleToHeight()来设置图像大小。但只有其中一个有效。如果我只使用scaleToWidth(),那么它会正确缩放宽度,如果我只使用,scaleToHeight()那么它会正确缩放高度。在下面的代码中,高度被正确缩放,因为它写在下面的行中oImg.scaleToWidth(cDim.clientWidth)。但我希望宽度和高度都符合我的值。我怎样才能做到这一点?
const canvas = new window.fabric.Canvas('c');
const cDim = document.getElementById("canvas-dimension");
console.log("Canvas Height: " + cDim.clientHeight);
console.log("Canvas Width: " + cDim.clientWidth)
let planURL = baseURL + "dream" + "/" + "plan";
window.fabric.Image.fromURL(planURL, (oImg) => {
//let scaleW = cDim.clientWidth / oImg.getWidth;
// let scaleH = cDim.clientHeight / oImg.getHeight;
// oImg.scaleX(scaleW)
oImg.scaleToWidth(cDim.clientWidth)
oImg.scaleToHeight(cDim.clientHeight)
canvas.setBackgroundImage(oImg);
canvas.renderAll();
},{ crossOrigin: 'anonymous'});
setCanvas(canvas)
对此的任何帮助或解决方法将不胜感激。谢谢!
慕森卡
相关分类