JIMP图像处理问题总结

node项目中使用了JIMP处理图片,使用中出现一些问题,进行一个记录

1.处理后图片方向与原图不一致

        现象:用户上传的照片方向是正的,没有旋转处理,但生成的图片旋转了180度

        原因:图片exif中参数Orientation导致,该参数记录拍摄方向(设备方向?),JIMP根据该参

                数对图片进行了处理,上传图片是3,则旋转180度,导致图片方向颠倒

        解决方法:修改JIMP原代码,路径:@jimp\core\dist\utils\image-bitmap.js

//该函数修改如下
function getExifOrientationTransformation(img) {
    return null
}

2.大图片、高分辨率图片处理失败

        现象:超过10M图片处理报错,分辨率高的图片处理失败

        原因:参数限制

        解决方法:修改原代码 ,路径:@jimp\core\dist\utils\image-bitmap.js

//修改代码
async function parseBitmap(data, path, cb){
    ...
    this.bitmap = this.constructor.decoders[mime](data,{maxMemoryUsageInMB:2000,maxResolutionInMP:200});
    ...
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值