繁体   English   中英

WideImage - 透明背景的画布

[英]WideImage - Canvas with transparent background

我们正在使用内置WideImage的CMS,无法改变这一点,但是我们遇到了需要生成300x300图像的情况。

然而,以jpg和png格式上传的大约100x100的图像具有各种透明度。

我正在尝试创建一个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);

然而,这显然只是在画布上添加了白色背景,我无法从他们的文档中找出如何使其透明。

谢谢

怎么样:

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

您可以在新画布中指定图像的X和Y位置以及宽度和高度。 $image->resizeCanvas(300, 300, "center", "center")效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM