Как залить градиентом на ImageMagick?

Тема в разделе "PHP", создана пользователем kud, 22 окт 2014.

Статус темы:
Закрыта.
Модераторы: latteo
  1. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Добрый день, задача следующая:
    Нужно залить png shape градиентом.
    Если просто изменить цвет, то:
    Код:
    $im = new Imagick('img.png');
    $im->setImageAlphaChannel(Imagick::ALPHACHANNEL_EXTRACT);
    $im->setImageBackgroundColor('white');
    $im->setImageAlphaChannel(Imagick::ALPHACHANNEL_SHAPE);
    Как залить градиентом?
     
  2. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Как говорится, сам спросил, сам ответил:
    Код:
    $icon = new Imagick('image.png');
    $icon->setImageAlphaChannel(Imagick::ALPHACHANNEL_EXTRACT);
    $icon->setImageBackgroundColor('white');
    $icon->setImageAlphaChannel(Imagick::ALPHACHANNEL_SHAPE);
    $gradient = New Imagick();
    $data = $icon->getImageGeometry();
    $gradient->newPseudoImage($data['width'], $data['height'], "gradient:red-blue");
    $icon->compositeImage($gradient, imagick::COMPOSITE_ATOP, 0, 0);
     
Статус темы:
Закрыта.