2017-05-15 47 views
0

我正试图找出imagemagick操作来减少图像文件大小,通过降低其质量。使用imageMagick缩小图像文件大小

此操作工作

convert -fuzz 1% -trim -quality 90 -limit memory 32MiB original.jpg converted.jpg 

降低品质因数会降低IMAGESIZE。有没有其他方法可以实现同样的效果,并增加了MAX_SIZE的限制。

例如5MB的图像应缩减为2MB

+0

出于兴趣,您应该整理出您的命令。在大多数情况下,它是“转换输入选项输出”。您通常可以在V6中获得错误的订单,但V7更严格。如果/当您升级到V7时,这可以为您节省一些困惑。 – Bonzo

+0

@Bonzo谢谢,我会记住这一点 – akash

回答

2

你会使用-define jpeg:extent=...

下面是一个随机数据的大图像的示例,它需要非常大的文件大小才能以合理的质量准确表示它。

convert -size 10000x1000 xc:gray +noise random -define jpeg:extent=2MB out.jpg 

结果

-rw-r--r-- 1 mark staff 1844050 15 May 10:44 out.jpg 

并检查所使用的质量:

identify -format "%Q" out.jpg 
21 

又如:

convert -size 10000x1000 xc:gray +noise random -define jpeg:extent=400kb out.jpg 

结果

-rw-r--r-- 1 mark staff 377757 15 May 10:44 out.jpg 

并检查使用的质量:

identify -format "%Q" out.jpg 
5 
+0

这真棒!谢谢 – akash

0

除了质量的一个重要因素是色度二次采样。默认情况下,IM使用“减半色度”,但可以使用“分色色度”。详细信息请参见this question

检查jpeg:extent option在IM的转换:

您还可以使用Google's Guetzli。据我了解,它会尝试各种JPEG编码选项以减小文件大小,同时检查结果的视觉可接受性。

+0

请注意,正确的IM 6语法在应用设置和运算符之前先读取光栅图像。因此,请阅读您在convert命令之后立即输入。 – fmw42