如何在不损失任何质量的情况下将 jpeg 图像从 4928x3264 裁剪为 4920x3264(16.1mp 至 16mp)8 行?
How to crop jpeg image by 8 lines from 4928x3264 to 4920x3264 (16.1mp to 16mp) without loosing any quality?
如何在不重新压缩图像的其余部分的情况下剪切这 8 行?
我想将原始尺寸的图片上传到 google 张照片,但 16.1mp 计入我的配额,16mp 不计入我的配额。我想要例如保留了 7.1Mb 的文件大小,未在 google 照片上压缩为 1Mb。
您显然正在寻找一种方法来对 JPEG 文件应用无损转换。在您的具体情况下,需要进行无损裁剪操作。
由于 JPEG 压缩算法适用于 8x8 像素块(在大多数情况下),因此有充分的理由认为删除一些 "lines" 块应该会导致有效裁剪的 JPEG 文件质量保持不变 和压缩比。
名为 jpegtran 的跨平台命令行程序专用于应用此类无损转换。可在此处获得:http://jpegclub.org/jpegtran/
阅读 linux 手册是一个好的开始:https://linux.die.net/man/1/jpegtran
这里是您的案例中使用的命令示例:
jpegtran -crop WxH+X+Y input.jpg > output.jpg
W
:以像素为单位的宽度,H
:以像素为单位的高度,X,Y
:以像素为单位的起点位置
如何在不重新压缩图像的其余部分的情况下剪切这 8 行?
我想将原始尺寸的图片上传到 google 张照片,但 16.1mp 计入我的配额,16mp 不计入我的配额。我想要例如保留了 7.1Mb 的文件大小,未在 google 照片上压缩为 1Mb。
您显然正在寻找一种方法来对 JPEG 文件应用无损转换。在您的具体情况下,需要进行无损裁剪操作。
由于 JPEG 压缩算法适用于 8x8 像素块(在大多数情况下),因此有充分的理由认为删除一些 "lines" 块应该会导致有效裁剪的 JPEG 文件质量保持不变 和压缩比。
名为 jpegtran 的跨平台命令行程序专用于应用此类无损转换。可在此处获得:http://jpegclub.org/jpegtran/
阅读 linux 手册是一个好的开始:https://linux.die.net/man/1/jpegtran
这里是您的案例中使用的命令示例:
jpegtran -crop WxH+X+Y input.jpg > output.jpg
W
:以像素为单位的宽度,H
:以像素为单位的高度,X,Y
:以像素为单位的起点位置