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});
...
}
1万+

被折叠的 条评论
为什么被折叠?



