Я создаю изображение cmyk с помощью php imagemagick, но цвет cmyk отличается в фотошопе?

НУЖНА ПОМОЩЬ!
Я создаю изображение cmyk с помощью php imagemagick, но цвет cmyk отличается в фотошопе! например: установите ImagickPixel в цвет cmyk (0,0,0,100) (черный), но в фотошопе обнаружите Cmyk (61,61,61,0).
Зачем? а как правильно установить цвет cmyk?

0

Решение

Вам нужно установить цветовое пространство 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;
0

Другие решения

Других решений пока нет …