Вопрос

Я пытаюсь преобразовать RGB .gif в CMYK .gif с помощью модуля Imagick PHP.

Я написал этот кусок кода

$i = new Imagick('mosaique.gif');
$i->setImageColorspace(Imagick::COLORSPACE_CMYK);
$i->setImageFormat('gif');
$i->writeImage('mosaique-cmyk.gif');

Но результирующий "mosaique-cmyk.gif" по-прежнему RGB ... но с перевернутыми цветами (O_O)

Что я делаю не так?

РЕДАКТИРОВАТЬ:

Я пробовал с .jpg, и изображение преобразуется в CMYK, но он все еще не отрицательно.

РЕДАКТИРОВАТЬ 2:

Я пытался запустить свой скрипт, создавая .pdf на другом сервере, и он работает нормально.

Есть ли в Imagick есть какие -нибудь известные ошибки? Есть ли параметры для установки в библиотеке PHP5?

Версия, которая возвращает мне, перевернутое изображение новее, чем то, что работает правильно

Неправильный результат Php 5.3.3 Imagick 3.0.0rc1 ImageMagick 6.6.2

Правильный результат PHP 5.2.10 Imagick 2.1.1 ImageMagick 6.5.1

Это было полезно?

Решение

Ошибка на самом деле это ошибка;)

Я сообщил, что некоторые другие подтвердили мой страх, и теперь он назначен разработчику для исправления: http://pecl.php.net/bugs/bug.php?id=22184

В этот момент решение заключается в том, чтобы использовать другую версию библиотек.

Другие советы

GIF-это 256-цветный формат, известный как «Indexted». Я не думаю, что можно сохранить GIF как CMYK. Каждый из 256 цветов является значением RGB, но он не способен хранить полную гамму RGB.

Попробуй это:

$im->stripImage();
$icc_cmyk_profile_path='image_functions/cmyk_icc_profiles/USWebUncoated.icc'; 
//[http://www.mattbeals.com/icc/][1]

$icc_cmyk = file_get_contents($icc_cmyk_profile_path);
$im->profileImage('icc', $icc_cmyk);
unset($icc_cmyk);
$colorspace=$im->getImageColorspace();                  

if ($colorspace==12) {
    echo "CMYK";
}

$im->stripImage();

$im->writeImage($destination);      
$im->clear();
$im->destroy();

Я решил эту проблему: пожалуйста, посетите мой ответ на этой странице Stackoverflow:Преобразовать изображение из RGB в CMYK с Imagick

(Кевин)

Это проблема отрицания (). Легко исправить.

глянь сюда http://imagemagick.org/usage/formats/#color_profile

преобразовать cmyk_image.jpg -colorspace rgb rgb_image.jpg

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top