0

我正在使用 Imagick 从大量 pdf 文件中生成图像。我还想要那些带有RGBsRGB颜色模式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();

我确实得到了图像,但颜色setImageColorspacesetImageColorSpace方法不同。(例如:颜色反转。)

如果我注释掉这些方法,图像看起来正确,但其中一些不是RGB模式并在Internet Explorer.

我真的需要RGB图像上的颜色模式。有什么办法吗?非常感谢!

4

1 回答 1

1

您似乎遇到了 CMYK pdf 的问题。您是否尝试过将它们转换为 PNG?PNG - 与 jpeg 相反 - 仅对 RGB 进行编码,因此图像在任何情况下都将处于正确的色彩空间中。

您可能还想看看 ghostscript(imagemagicks PDF 转换背后的引擎)和它的--UseCIE开关。

我为 ghostscript 写了一个 php-wrapper,你可以在github上找到它,当你想使用 ghostscript 时,你可能会发现它很有用。

于 2013-05-29T05:09:00.010 回答