我有以下图片188_f.jpg
:
以下代码:
<?php
$ss = "convert 188_f.jpg -quality 95% -set colorspace RGB -colorspace CMYK 188_f_cmyk.jpg 2>&1";
echo ">" . $ss . "<br />";
echo system($ss);
?>
当我运行此代码时,我将此图像作为输出:
确实在CMYK中,但从100%开始时,质量会有很大的损失。 (不确定SE在上传时是否进行了任何转换,因此我通过FTP上传了上述图片,以便您可以根据需要直接检查它们。)
我尝试在有百分号和无百分号的情况下移动质量参数,我也查看了Imagick指南,但我无法找到质量下降原因的任何解释。输出文件具有相同的像素数。
编辑:除了更改颜色空间选项外,不对脚本进行其他更改,结果如下:
编辑2 :还尝试了多个不同的配置文件,使用:
convert 188_f.jpg -quality 95% -profile profiles\\UncoatedFOGRA29.icc -colorspace CMYK 188_f_cmyk.jpg 2>&
他们都没有摆脱像素化。
答案 0 :(得分:0)
我设法让输出与原始图片无法区分,并将以下选项传递给convert
或mogrify
:
-filter Triangle -define filter:support=2 -unsharp 0.25x0.25+8+0.065 -dither None -posterize 136 -quality 82 -define jpeg:fancy-upsampling=off -interlace none -colorspace sRGB -strip
(参考:https://www.smashingmagazine.com/2015/06/efficient-image-resizing-with-imagemagick/)
(左:原始 - 74.8kB,右:转换 - 63kB)