PHP想象将图像从CMYK转换为RGB反转图像

时间:2015-04-29 01:51:20

标签: php rgb imagick

我有一张图片被eBay API拒绝了,因为:

 <ShortMessage>Source picture uses an unsupported colorspace.</ShortMessage>
    <LongMessage>Pictures with a CMYK colorspace are not supported; source pictures must use a RGB colorspace compatible with all web browsers supported by eBay. Submit pictures created using a camera or scanner set to save images with RGB color.</LongMessage>

嗯,我不知道这是一个CMYK,我甚至不知道怎么说。然后我使用以下代码尝试转换:

$image= "$img.jpg";
$i = new Imagick($image);
$i->setImageColorspace(Imagick::COLORSPACE_SRGB);
$i->writeImage($image);
$i->destroy();

它转换(现在被eBay接受),但它也会反转图片的颜色。为什么会这样做?我应该使用另一个COLORSPACE吗?

感谢。

1 个答案:

答案 0 :(得分:7)

setImageColorSpace方法并不适用于现有图像 - 它仅适用于新图像(例如$imagick->newPseudoImage(100, 100, "xc:gray");

transformImageColorSpace方法是用于更改现有图像颜色空间的正确方法。

$image= "$img.jpg";
$i = new Imagick($image);
$i->transformImageColorspace(Imagick::COLORSPACE_SRGB);
$i->writeImage($image);
$i->destroy();