【问题标题】:I create a cmyk image by php imagemagick, but cmyk color is different on photoshop?我通过 php imagemagick 创建了 cmyk 图像,但是在 photoshop 上 cmyk 颜色不同?
【发布时间】:2016-06-23 03:01:52
【问题描述】:

需要帮助! 我通过 php imagemagick 创建了 cmyk 图像,但在 photoshop 上 cmyk 颜色不同!例如:设置 ImagickPixel 颜色 cmyk(0,0,0,100)(black),但在 Photoshop 上找到 cmyk(61,61,61,0)。 为什么?以及如何设置正确的 cmyk 颜色?

【问题讨论】:

标签: php imagemagick cmyk


【解决方案1】:

您需要将色彩空间设置为 CMYK,否则您的像素将被转换为 RGB。

$img->setImageColorspace(Imagick::COLORSPACE_CMYK);

http://php.net/manual/en/imagick.setimagecolorspace.php

还要确保您使用的文件类型支持 CMYK。 (例如.jpg、.tif)

编辑

Imagick 似乎有一个错误。 在修复之前,您可以尝试使用 transformImageColorspace 来解决此问题。

$draw = new \ImagickDraw();

$fillColor = new \ImagickPixel();    
$fillColor->setColor('cmyk(0%,0%,0%,100%');
$draw->setFillColor($fillColor);
$draw->rectangle(100, 100, 400, 400);

$img = new \Imagick();
$img->newImage(500, 500, 'white');
$img->drawImage($draw);
$img->transformImageColorspace(Imagick::COLORSPACE_CMYK);
$img->setImageFormat("jpg");

header('Content-Type: image/'.$img->getImageFormat());
echo $img;

【讨论】:

  • 我设置了色彩空间,文件类型为.jpg,photoshop显示图像为CMYK颜色模式。
  • 是的,CMYK 色彩空间对 ImagickDraw 无效,除了已修复的错误。您的解决方案对我有用,但如果需要打印更多颜色,则存在颜色问题。
  • @hcoat 你得到这个工作了吗?请看我的问题
猜你喜欢
  • 2014-06-11
  • 2015-12-10
  • 2023-03-10
  • 2011-11-04
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
相关资源
最近更新 更多