我正在使用 PHP 的 Imagick 扩展来操作图像。以下是我的代码
try{
$sourceimg=dirname(__FILE__)."\\source.jpg";
$destinationimg=dirname(__FILE__)."\\source_cmyk.tiff";
$im=new Imagick();
$im->setResolution(300,300);
$im->readImage($sourceimg);
$im->setImageColorSpace(imagick::COLORSPACE_CMYK);
$im->stripImage();
$cmykprofile=@file_get_contents("C:\\USWebUncoated.icc");
$im->profileImage("icm",$cmykprofile);
$im->setImageDepth(8);
$im->setImageUnits(1); //0=undefined, 1=pixelsperInch, 2=PixelsPerCentimeter
$im->setResolution(300,300); //set output resolution to 300 dpi
$im->setImageCompressionQuality(100);
$im->writeImage($destinationimg);
}catch(ImagickException $e){
echo $e->getMessage();
}
我遇到的问题是代码否定了原始图像。仅当我使用$im->profileImage
. 造成这种情况的原因是什么?以及如何解决这个问题?我使用的配置文件是我从http://www.adobe.com/support/downloads/detail.jsp?ftpID=3680下载的 cmyk 颜色配置文件
任何帮助将不胜感激。
谢谢