首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当将某些图像放入PHP GD头像时,它将变为空白

当将某些图像放入PHP GD头像时,它将变为空白
EN

Stack Overflow用户
提问于 2012-06-01 01:48:35
回答 1查看 121关注 0票数 0

我在做一个虚拟化身网站。我的一个用户遇到了一个问题...他们的头像一片空白。他们的头像:

http://www.world2build.com/API/Avatar.aspx?ID=1586

他们头像上的物品在没有这个物品的情况下工作得很好,但是当他们把这个身体放上时,这是第一层,它就会变成空白:

http://node1.world2build.com/Body/13245107086553.png

但是,如果我将正文移到顶层,它会显示...但我必须将身体保持在最底层,以确保它像正常的头像一样显示。为什么这会使作为底层的PNG变为空白?我看不出有什么问题。

代码( $vars是一个数组,包含指向文件的链接):

代码语言:javascript
复制
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 (它使用与上面提供的身体不同的身体)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 02:29:36

我修复了这个问题,将代码替换为$base,并将其转换为空白图像。

代码语言:javascript
复制
$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,以包括正文。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10838641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档