【发布时间】:2021-12-25 03:26:48
【问题描述】:
我正在尝试使用 Sharp 和 Nodejs 在我的计算机上旋转图像,但每次旋转都会导致文件大小略有增加,以至于我得到的图像是其原始大小的 10 倍(从 50kb 到 500kb ) 只需旋转它。
我注意到在 stackoverflow 上有类似的问题,但他们似乎都有一个与所使用的技术堆栈相关的解决方案,而我找不到与此相关的任何东西与 sharp/node。
也许解决方案与有损编码有关,我不确定,但我的目标是旋转图像,如 Windows 上的照片应用程序,它能够在不增加文件大小的情况下旋转,或者至少原始文件大小是当图像旋转到其原始方向时恢复。
使用的代码非常简单:
await sharp(filepath).rotate(90).toFile(output, rotateImgCallback);
【问题讨论】:
-
我认为照片查看器实际上并没有旋转图像,而是使用 EXIF 元数据。见sharp.pixelplumbing.com/api-output#withmetadata 和impulseadventure.com/photo/exif-orientation.html。
标签: javascript node.js sharp