我正在使用Imagick从大量pdf文件中生成图像。我还希望这些图片采用RGB
或sRGB
颜色模式,因此Internet Explorer
可以正确显示图片。
我试过了
$im = new imagick($fileName.'[0]');
//$im->setImageColorspace(Imagick::COLORSPACE_SRGB); //try this already
// $im->setImageColorSpace(1); //try this already
$im->setResolution(300,300);
$im->setImageFormat('jpeg');
$im->writeImage($imageFile);
$im->clear();
$im->destroy();
我确实获得了图片,但使用setImageColorspace
和setImageColorSpace
方法的颜色却很明显。 (例如:颜色倒置。)
如果我注释掉这些方法,图片看起来是正确的,但其中一些不是RGB
模式,并在Internet Explorer
中产生问题。
我真的需要图像上的RGB
颜色模式。反正有没有做到这一点?非常感谢!
答案 0 :(得分:1)
您似乎遇到了CMYK pdfs的问题。您是否尝试过将它们转换为PNG? PNG - 与jpeg相对 - 仅对RGB进行编码,因此图像在任何情况下都将位于正确的色彩空间中。
您可能还想看看ghostscript(imagemagicks PDF转换背后的引擎)和--UseCIE
切换。
我写了一个php-wrapper到ghostscript,你可以在github找到你想要使用ghostscript时可能会觉得有用的。