Kur*_*fle 79
要将生成的图像限制为最大文件大小,可以使用命令行参数-define jpeg:extent=max_value
,如下所示:
convert original.jpeg -define jpeg:extent=300kb output.jpg
convert original.jpeg -define jpeg:extent=300kb -scale 50% output.jpg
convert original.jpeg -define jpeg:extent=300kb [...other options...] output.jpg
Run Code Online (Sandbox Code Playgroud)
请注意,这并不总是能够匹配您想要的确切大小.您可能要求输出大小为40kb,输入为300kb,结果为48kb.
(更新/说明:输出文件大小可能略低于或高于文件请求的大小.)
mir*_*los 13
该jpegoptim工具(实际主页是多个程序)工作对我来说更好:
jpegoptim -s -S8 *.JPG
Run Code Online (Sandbox Code Playgroud)
-s
意味着剥离所有元数据(EXIF,JFIF,XMP等)-S8
意味着定位大约8 KiB的文件大小你可以通过运行两次来更好地处理它们,因为根据经验,大多数图像都是渐进的:
jpegoptim -s --all-progressive -S8 *.JPG; jpegoptim -s --all-normal -S8 *.JPG
Run Code Online (Sandbox Code Playgroud)
jpegoptim
通常会拒绝写出增加尺寸的图像,因此这样可以为您提供最佳的质量/尺寸.
至于图像尺寸部分:您通常首先根据尺寸定义目标尺寸并在那里进行缩放,然后才定义目标文件尺寸.这是因为,当您显示它时,理想情况下您希望图像尺寸是最终显示尺寸的整数倍或分数,以使缩放更容易,甚至不必要.因此,首先缩放到目标尺寸(质量为100,可能还有其他类似4:4:4色度,最常见的是dct float),然后缩小文件大小.如果无法达到所需的文件大小范围,请选择较小的目标尺寸并重新启动(从原始图像,而不是首先缩小的图像).
归档时间: |
|
查看次数: |
26406 次 |
最近记录: |