WideImage - 透明背景的画布

时间:2016-05-26 13:15:03

标签: php transparency wideimage

我们正在使用内置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);

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

由于

1 个答案:

答案 0 :(得分:0)

怎么样:

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

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