WideImage — Холст с прозрачным фоном

Мы используем CMS со встроенным WideImage, и у нас нет возможности это изменить, однако мы столкнулись с ситуацией, когда нам нужно производить изображения размером 300×300.

Однако изображения, которые загружаются с разрешением примерно 100×100 в формате jpg и png с различными уровнями прозрачности.

Я пытаюсь создать холст размером 300×300 и поместить в него изображение размером 100×100 — однако я хочу, чтобы холст оставался прозрачным, а изображение — сверху, чтобы сохранить его прозрачность.

у меня есть

$image = WideImage::loadFromFile( $this->local_path );

$canvas = WideImage::createTrueColorImage(300, 300);
$canvas_bg = $canvas->allocateColor(255, 255, 255);
$canvas->fill(0, 0, $canvas_bg);

$resized_image = $canvas->merge($image);

Однако это, очевидно, просто добавляет белый фон к холсту, я не могу понять из их документации, как сделать его прозрачным.

Спасибо

1

Решение

Как насчет:

$image = WideImage::loadFromFile($this->local_path);
$resized_image = $image->resizeCanvas(300, 300, 0, 0);

Вы можете указать X и Y расположение изображения на новом холсте, а также его ширину и высоту. $image->resizeCanvas(300, 300, "center", "center") работает довольно хорошо.

0

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

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

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