- 219
- 96
Создаю линейный градиент на картинку
Но почему-то при изменении цвета (к примеру, на blue) в этой строчке:
Градиент по прежнему остаётся белым 😕
PHP:
<?php
$im = new Imagick('save.png');
if (!$im->getImageAlphaChannel()) {
$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_SET);
}
$refl = $im;
$gradient = new Imagick();
$gradient->newPseudoImage($refl->getImageWidth(), $refl->getImageHeight(), 'gradient:transparent-white');
$refl->compositeImage($gradient, imagick::COMPOSITE_DSTOUT, 0, 0);
$canvas = new Imagick();
$width = $im->getImageWidth();
$height = $im->getImageHeight();
$canvas->newImage($width, $height, 'none');
$canvas->setImageFormat('png');
$canvas->compositeImage($im, imagick::COMPOSITE_SRCOVER, 0, 0);
$canvas->compositeImage($refl, imagick::COMPOSITE_SRCOVER, 20, $im->getImageHeight());
$canvas->writeImages("new.png", true);
$gradient->newPseudoImage($refl->getImageWidth(), $refl->getImageHeight(), 'gradient:transparent-white');
Градиент по прежнему остаётся белым 😕