Поддерживает ли Imagick радиальные градиенты? - PullRequest
0 голосов
/ 23 августа 2010

ПРОБЛЕМА
При использовании Imagick :: newPseudoImage для создания радиального градиента эта ошибка появляется в журнале ошибок Apache HTTP и радиальный градиент не создается:

Неустранимая ошибка PHP: необработанное исключение 'ImagickException' с сообщением 'Невозможно создать новое псевдоизображение: радиальный градиент: # FF0000- # FFFFFF 'в /var/www/html/energy/scripts/rg.php:6\nStack след: \ п # 0 /var/www/html/energy/scripts/rg.php(6): Imagick-> newpseudoimage (150150, 'радиальный градиент ...') \ n # 1 {main} \ n брошенный в /var/www/html/energy/scripts/rg.php на строка 6

ИССЛЕДОВАНИЯ
Документация PHP для Imagick :: newPseudoImage отсутствует, но согласно тексту ссылки (поиск "radial"):

RADIAL_GRADIENT ... Постепенное радиальное переходя от одного оттенка к другой ... Возвращает визуализированный радиал градиентное изображение с использованием указанного Размер изображения. Укажите желаемый затенение как часть имени файла (например, радиальный градиент: красно-синий или радиально-градиент: # F00- # 00F)

.

Я пытался использовать «RADIAL_GRADIENT» вместо «радиальный градиент» и любую другую комбинацию, о которой я мог подумать. В конечном счете, я хотел бы передать значения RGB Imagick :: newPseudoImage вместо шестнадцатеричных и сохранить созданные изображения на диск.

Мой PHP-скрипт

// Создать новый объект imagick.
$ image = new Imagick ();

// Новое изображение с радиальным градиентом замирания от красного до белого, 150 на 150 пикселей. $ Image-> newPseudoImage (150,150, 'радиально-градиент: # FF0000- # FFFFFF');

// Установить формат изображения PNG.
$ Image-> setImageFormat ( 'PNG');

// Вывод изображения.
заголовок ("Content-Type: image / png");
echo $ image;

Мое окружение
Imagick 3.0.1RC1
ImageMagick 6.2.8.0
PHP 5.2.14
RedHat Enterprise Linux 5.5

Спасибо: -)

1 Ответ

0 голосов
/ 23 августа 2010

Вы используете ImageMagick 6.2.8; последний - 6.6.3. Было много улучшений между этими двумя версиями. Страница документации, на которую вы ссылаетесь, описывает последнюю версию (насколько я знаю).

На их странице загрузки есть RPM для установки последней версии на CentOS 5.4 (которая по сути идентична RedHat Enterprise Linux 5.4). Они также могут работать на 5.5 - попробуйте:)

(Я не очень разбираюсь в привязках PHP, поэтому, боюсь, ничего не могу с этим поделать:)

...