Я сделал инструмент, с помощью которого люди могут загружать фотографии и изменять их, включая обесцвечивание, в результате чего получается изображение в градациях серого. Я генерирую окончательное изображение, используя библиотеку PHP GD.
При печати этих изображений цвета выглядят неправильно, поэтому с помощью Image Magick я добавляю цветовой профиль.
Это прекрасно работает, за исключением изображений, которые были окрашены в оттенки серого. Цветовой профиль добавляется, но когда я открываю изображение в Photoshop, появляется сообщение: «Невозможно использовать встроенный профиль ICC, поскольку профиль ICC недействителен. Игнорирование профиля». В Photoshop изображение установлено в оттенках серого, а не в RGB, поэтому прикрепленный профиль RGB неверен. Мне нужно, чтобы это было RGB.
Я использую следующий код, чтобы добавить всю возможную информацию в попытке сделать изображение RGB:
<?php
$i = new Imagick();
$i->readimage('image.jpg');
$i->setimagetype(Imagick::IMGTYPE_TRUECOLOR);
$i->setimagecolorspace(Imagick::COLORSPACE_RGB);
$i->profileimage('icc', file_get_contents('AdobeRGB1998.icc'));
$i->writeimage($d);
$i->destroy();
?>
Кто-нибудь знает, как успешно установить изображение в RGB и прикрепить профиль?
Я пробовал разные методы и комбинации для «setImageProfile» и «profileImage», а также для цветового пространства и типа изображения, но результат всегда один и тот же.