我正在尝试将 RGB 图像转换为 CMYK,因为它们需要打印。我正在使用这段代码:
<?php
$filePath = 'rgb.jpg';
// First save image as png
$image = new Imagick($filePath);
$image->setImageCompression(Imagick::COMPRESSION_UNDEFINED);
$image->setImageCompressionQuality(0);
$image->setImageFormat("png");
$filePath = 'rgb.png';
$image->writeImage($filePath);
$image->clear();
$image->destroy();
$image = null;
// Convert colors
$image = new Imagick($filePath);
$image->stripImage();
$image->setImageColorspace(Imagick::COLORSPACE_CMYK);
$image->setImageCompression(Imagick::COMPRESSION_UNDEFINED);
$image->setImageCompressionQuality(0);
$image->setImageFormat("png");
$filePath = 'cmyk.png';
$image->writeImage($filePath);
$image->clear();
$image->destroy();
$image = null;
$fileUrl = 'http://www.product-designer.nl/rgb2cmyk/cmyk.png';
?>
CMYK Image:<br/>
<img src="<?php echo $fileUrl; ?>" width="400" /><br /><br />
<?php
$fileUrl = 'http://www.product-designer.nl/rgb2cmyk/rgb.png';
?>
RGB Image:<br/>
<img src="<?php echo $fileUrl ?>" width="400" />
您可以在http://product-designer.nl/rgb2cmyk上看到结果, 我不知道如何,但不知何故,图像上的颜色会反转。我需要转换图像,但颜色需要尽可能接近 RGB 颜色。
有谁知道如何做到这一点?
谢谢