Измените белый на прозрачный в Imagick для переполнения стека

Я пытаюсь создать карту Соединенных Штатов, которая обновляется по мере того, как кандидаты в президенты США объявляются победителями в разных штатах. Для этого у меня есть несколько картинок состояний разных цветов (красный, синий, полосатый и т. Д.), Которые я буду сшивать, чтобы создать полную карту и сохранить ее как изображение.

Изображения состояния — все JPEG, и у меня нет возможности преобразовать их в формат, который поддерживает прозрачность. Мой вопрос заключается в том, как сделать прозрачным белый фон этих изображений .jpg после того, как я перенес их в Imagick?

У меня есть следующий код, который показывает только последнее изображение это было добавлено к карте, потому что его белый фон покрывает остальное.

$us_map = new Imagick();
$us_map->newImage(
self::MAP_WIDTH,
self::MAP_HEIGHT,
new ImagickPixel('none'),
);
$us_map->setFormat('png');
foreach ($curls as $curl) {
$state = new Imagick();
$state->readImageBlob($curl->getBody());
// What do I do here to change all white in $state to transparent?
$us_map->addImage($state);
}
$file_name = '/tmp/pic.US_MAP.'.request_time().'.png';
$us_map->writeImage($file_name);

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]