VDS за 300р от нашего партнера SpaceWeb
[33]
29 Ноя 2013, 17:37

Imagick прозрачный цвет в белый непрозрачный

Привет!

Перевожу PNG изображения в JPEG, если в png изображении присутствует прозрачные элементы, то в jpeg изображении эти места закрашиваются черным.

Как убрать прозрачность и заменить её белым цветом?

Пытался использовать setImageBackgroundColor но ничего вы вышло! Фон изображения не меняется.

$Imagick = new Imagick(); $Imagick->readImage('file.png'); $Imagick->setImageFormat('jpeg'); $Imagick->setImageCompressionQuality(80); $Imagick->writeImage('file.jpg'); $Imagick->destroy();

Что тут нужно изменить?

Комментарии (1)
grom 02.12.2013 11:39

Нужно ещё склеить слои, странно, но только такой способ работает. Используйте метод flattenImages

$Imagick = new Imagick();
$Imagick->readImage('file.png');
$Imagick->setImageBackgroundColor('white'); //задаем фон
$Imagick = $Imagick->flattenImages(); // склеиваем слои
$Imagick->setImageFormat('jpeg');
$Imagick->setImageCompressionQuality(80);
$Imagick->writeImage('file.jpg');
$Imagick->destroy();
0

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 13469]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 9225]
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 8836]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 8177]
[124]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 6819]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 4940]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 4903]

Вести с Хабра