我正在使用Jimp(https://www.npmjs.com/package/jimp)库来裁剪图像。
裁剪工作正常,但我只有图像方向的问题。
有时,用户上传旋转的图像和它的结果旋转裁剪图像.
我查阅了https://www.npmjs.com/package/jimp文档,但没有找到任何与此相关的内容。
以下是我浏览过但没有帮助的几个链接:
https://justmarkup.com/articles/2019-10-21-image-orientation/
Accessing JPEG EXIF rotation data in JavaScript on the client side
请帮帮忙
2条答案
按热度按时间bzzcjhmw1#
所以长话短说JIMP正确地读取经由EXIF定向属性旋转的图像,并且重新排列像素,就好像EXIF/定向属性不存在一样,但是随后还存储旧的EXIF属性,而不是将其重置为1,因为为了在每个设备上正确地显示它,应该将其重置为1。
我能够实现的最简单的解决方案是在将(base64编码的)图像上传到后端之前,使用exif-auto-rotate旋转图像像素并重置前端的exif属性:
如果您需要在后端执行此操作,那么最好使用带缓冲区的jpeg-autorotate,如下所示:
有关基于浏览器的exif方向问题的详细信息:
EXIF Orientation Handling Is a Ghetto
alen0pnh2#
只是改变这jimp版本到
“跳动”:“0.8.5”,