1
我正在用IMagick在PHP中将图像从RGB转换为CMYK。IMagick RGB到CMYK腐败转换
在转换过程中,一些图像会在它们上面出现黑色网格。
代码:
$IMagick = new IMagick();
$IMagick->clear();
$IMagick->readImage(SITE_ROOT . 'userfiles/image/products/' . $image);
$IMagick->negateImage(false, Imagick::CHANNEL_ALL);
$IMagick->setImageColorspace(13);
$icc_cmyk = file_get_contents(dirname(__FILE__).'/USWebCoatedSWOP.icc');
$IMagick->profileImage('icc', $icc_cmyk);
unset($icc_cmyk);
$IMagick->setImageColorspace(12);
$IMagick->writeImage (SITE_ROOT . 'userfiles/image/products/cmyk/' . $image);
图片:
我将围绕80张图片在一个循环中,其中大部分都OK。 任何想法为什么会发生?
编辑: 工作代码:创建新的图像时
$IMagick = new IMagick();
$IMagick->clear();
$IMagick->readImage(SITE_ROOT . 'userfiles/image/products/' . $image);
$icc_cmyk = file_get_contents(dirname(__FILE__).'/USWebCoatedSWOP.icc');
$IMagick->profileImage('icc', $icc_cmyk);
unset($icc_cmyk);
$IMagick->transformImageColorspace(12);
$IMagick->writeImage (SITE_ROOT . 'userfiles/image/products/cmyk/' . $image);
setImageColorspace“设置图像颜色空间,创建新图像时应使用此方法。要更改现有图像的颜色空间,应使用Imagick :: transformImageColorspace()。” – Danack 2015-03-31 14:55:26
工作。还解决了反转颜色的问题。所以不需要否定图像。 你可以将它作为anwser发布,以便我可以接受它。 – 2015-03-31 15:10:57