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

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

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

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

у меня есть

$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") работает довольно хорошо.

Другие вопросы по тегам