使用 Imagick 在 PHP 中将 sRGB 转换为 CMYK 时,我得到了低质量的图像

I got a low quality image when converting sRGB to CMYK in PHP using Imagick

我在 PHP 中尝试使用 Imagick 从 sRGB 转换为 CMYK 时得到的图像质量很差。

原图

转换后的图像

这是我的 PHP 代码:

$i = new \Imagick();
$i->clear();
$i->readimage("original_image.jpg");

$icc_cmyk = file_get_contents('/tmp/USWebCoatedSWOP.icc'); 
$i->profileimage('icc', $icc_cmyk);
unset($icc_cmyk);

$i->transformImageColorspace(12);
$i->writeImage('converted_image.php');

我不明白为什么会这样。 有什么想法吗?

旧版本的 ImageMagick 中存在一些与 CMYK 相关的错误。

根据 changelog,6.8.2-4 有一些固定的东西,这可能与您所看到的有关。

升级到最新版本的 ImageMagick,当您发现图像转换出现意外输出时,通常值得尝试看看是否可以解决问题。