HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 12.09.2022, 18:48
Roman Grudov
Участник форума
Регистрация: 05.08.2018
Сообщений: 250
С нами: 4091513

Репутация: 98
По умолчанию

Создаю линейный градиент на картинку

Цитата:
Сообщение от Спойлер  


PHP:





Код:
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);


Но почему-то при изменении цвета (к примеру, на blue) в этой строчке:

Код:
$gradient->newPseudoImage($refl->getImageWidth(), $refl->getImageHeight(), 'gradient:transparent-white');
Градиент по прежнему остаётся белым 😕

Цитата:
Сообщение от Спойлер  

1662994050552.pngRoman Grudov · 12 Сен 2022 в 17:48' data-fancybox="lb-post-1144612" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/168296/" style="cursor: pointer;" title="1662994050552.png">


 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.