gpt4 book ai didi

php - imagecreatefrompng() png透明部分为黑色

转载 作者:搜寻专家 更新时间:2023-10-31 20:38:57 25 4
gpt4 key购买 nike

elaphant

我正在使用 PHP 创建一张海报,我想在海报上添加数字。

我使用下面的代码来添加它们:

$src1 = imagecreatefrompng("m2.png");
$widthsrc=0;
$heightsrc=0;
list($widthsrc, $heightsrc, $typesrc, $attrsrc) = getimagesize("m2.png");

$background = imagecolorallocate($src1, 0, 0, 0);
imagecolortransparent($src1, $background);
imagealphablending($src1, false);
imagesavealpha($src1, true);

imagecopyresampled($my_img,$src1,$line2X1+100*$resize,$line2Y1,0,0,1000*$resize,1000*$resize,$widthsrc,$heightsrc);

问题是图形应该透明的地方是黑色的。

我已经看过以下帖子:

  1. imagecreatefrompng-makes-a-black-background-instead-of-transparent
  2. hp-resizing-png-images-generate-black-background
  3. png-has-black-background

但我无法创建适合我的解决方案。

最佳答案

嗯,这很容易 XD 将评论转换为答案:

您的错误在于定义背景颜色。你应该使用这个:

$background = imagecolorallocatealpha($src,0,0,0,127);

但是,为了安全起见,避免使用图像上已经存在的“透明”颜色可能是个好主意。旧的基于 sprite 的游戏的“传统”透明颜色是洋红色,因为您的图像上不太可能有纯洋红色!

$background = imagecolorallocatealpha($src,255,0,255,127);

关于php - imagecreatefrompng() png透明部分为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28044908/

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