PHP Imagick将RGB转换为计算机之间的CMYK差异

时间:2018-02-16 20:27:43

标签: php imagick

我正在使用RGB配色方案阅读SVG,并使用PHP中的Imagick库将CMYK转换为JPG。这一切都在我的本地机器和其他机器上正常工作,但是当我将它部署到服务器时,颜色变得混乱(蓝色变得更暗)。

以下是我的转换代码:

// start conversion to JPG
$image = new Imagick();
$image->setBackgroundColor(new ImagickPixel('white'));
$image->readImageBlob(file_get_contents('../assets/Map.svg'));

// finalize settings of the JPG
$image->transformImageColorspace(imagick::COLORSPACE_CMYK);
$image->setImageFormat("jpg");
$image->setImageCompressionQuality(100);
$image->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$image->setImageResolution(100, 100);

$filename = $company_id . '-Map.jpg';
$image->writeImage("../maps/" . $filename);
$image->clear();
$image->destroy();

SVG中的颜色如下所示:style =“fill:#193B71;”

我的第一个想法与软件的版本有关,它们似乎非常接近但不相同:

本地机器:

  • PHP 7.2.1
  • imagick module 3.4.3
  • ImageMagick 6.9.6-2 Q16 x86_64 2017-11-27
  • GPL Ghostscript 9.20(2016-09-26)
  • Mac OS 10.11.6

远程服务器:

  • PHP 7.0.27
  • imagick module 3.4.1
  • ImageMagick 6.7.8-9 2016-06-16 Q16
  • GPL Ghostscript 9.20(2016-09-26)
  • CentOS Linux版本7.2.1511(核心)

我想知道ImageMagick版本是否是这里的问题,然后才能在服务器上进行升级过程?或者,如果有人提出要检查的其他内容的建议,因为我并不完全熟悉php imagick模块可能用于进行此转换的所有工具。

0 个答案:

没有答案