gpt4 book ai didi

php - 在 PHP 中合并两个带有透明胶片的图像

转载 作者:可可西里 更新时间:2023-10-31 23:10:19 25 4
gpt4 key购买 nike

我正在尝试通过 php 制作几个具有背景透明度的 .png 的合成图像,并将生成的图像存储在我的数据库中。我的问题是当我合并图像时图像的透明部分被丢弃。

这是我创建合成图像的代码:

    $base = imagecreatefrompng('application/assets/images/vel1_bg.png');
imagealphablending($base, true);
list($baseWidth, $baseHeight, $type, $attr) = getimagesize('application/assets/images/vel1_bg.png');

$user_board_items = $this->config->item('user_board_items');

foreach($array as $key => $value){
$item = imagecreatefrompng('application/assets/images/items/' . $user_board_items[$value[0]] . '.png');
imagealphablending($item, true);
list($width, $height, $type, $attr) = getimagesize('application/assets/images/items/'. $user_board_items[$value[0]] . '.png');

imagecopymerge($base,
$item,
floor(($value[1] / 100) * $baseWidth),
floor(($value[2] / 100) * $baseHeight),
0,
0,
$width,
$height,
100);
imagedestroy($item);
}

//We have to capture the output buffer
ob_start();
imagepng($base);
$baseimg = ob_get_clean();

这会产生这样的图像: enter image description here

我正在寻找更像这样的东西: enter image description here(注意透明部分是如何表示的)

最佳答案

不要使用 imagecopymerge() 来合并透明图像。

最好在脚本中使用 imagecopyresampled()。

关于php - 在 PHP 中合并两个带有透明胶片的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com