保留 Fabric 中图像的纵横比.js
Preserve the aspect ratio of Image in Fabric.js
如何保留加载到画布上的图像的纵横比?当图像从本地系统加载到画布上时,我正在创建带有width=canvas.width
和height=canvas.height
的图像对象。
但是质量不见了。即使加载的图像分辨率更高。有没有办法保留加载图像的纵横比?
我做对了吗:您想用图像填充画布,保持比例并隐藏溢出?
您应该重新计算它们:
cw
, ch
- 帆布尺寸
iw
, ih
- 图像尺寸
ih = imgObj.naturalHeight;
iw = imgObj.naturalWidth;
fw
, fh
- 最终尺寸
width_ratio = cw / iw;
height_ratio = ch / ih;
if (width_ratio > height_ratio) {
fw = iw * width_ratio;
fh = ih*fw/iw;
} else {
fh = ih * height_ratio;
fw = iw*fh/ih;
}
然后只是像这样的饲料选项
var image = new fabric.Image(imgObj);
image.set({
width:fw,
height:fh
});
canvas.add(image);
相关文章:
- 使用fabric.js从矩形区域获取对象,并将该区域绘制到画布上
- Fabric.js-更改矩形填充
- Dropdown在fabric js的Materialize设计中不起作用
- 如何在fabric js中向多边形添加图像
- fabric js多边形集合坐标
- 在fabric.js中以PNG格式下载Canvas,给出网络错误
- 在fabric.js中使用一个组作为遮罩
- 以编程方式将fabric-js-canvas的图像替换为hq图像,并重新计算其他对象的坐标和大小
- 如何通过Fabric.js只点击实际内容来选择对象
- Cufon-builder-font-js文件在Fabric.js中不起作用
- fabric.js中的文本对齐方式未按预期工作
- fabric.js:使用 Image.set() 调整图像大小是否会降低图像质量
- 使用Fabric.js选择画布上的所有对象
- Canvas仅使用fabric.js在点击事件时渲染自定义Web字体
- drawImage() in fabric js
- Fabric.js函数将对象从A点移动到B点
- Fabric.js文本转换不起作用
- 检查Fabric.js中的Canvas是否为空
- 如何在Fabric.js上获取鼠标坐标
- 如何使用Fabric.js创建多个形状