我正在创建一个头像网站。我的一个用户遇到了问题...他们的头像是空白的。他们的化身:
http://www.world2build.com/API/Avatar.aspx?ID=1586
他们的头像上的项目在没有这个项目的情况下工作正常,但是当他们把这个主体放在第一层时,它就变成了空白:
http://node1.world2build.com/Body/13245107086553.png
然而,如果我将Body移动到顶层,它会显示......但我必须将身体保持在底层,以确保它显示为正常的头像。为什么这会使PNG作为底层变成空白?我没有看到问题。
代码($ vars是一个包含文件链接的数组):
function merge_image($base, $img){
$width = imagesx($img);
$height = imagesy($img);
imagecopy($base,$img,0,0,0,0,$width,$height);
}
$base = imagecreatefrompng($vars[0]);
for($i=1; $i<count($vars); $i++){
merge_image($base, imagecreatefrompng($vars[$i]));
//echo $vars[$i]."<BR>";
}
header("Content-Type: image/png");
imagesavealpha($base, true);
imagepng($base);
注意:第7行的$ base是身体图像(导致问题的图像)。
工作头像是:http://www.world2build.com/API/Avatar.aspx?ID=1602(它使用与上面提供的身体不同的身体)
答案 0 :(得分:0)
我通过用此替换代码并将$ base转换为空白图像来修复此问题。
$base = imagecreatefrompng("../Images/BlankTransparentImage.png");
for($i=0; $i<count($vars); $i++){
merge_image($base, imagecreatefrompng($vars[$i]));
//echo $vars[$i]."<BR>";
}
(注意我在for循环中将$ i = 1更改为$ i = 0以包含正文。)