0

アバターサイトを作っています。私のユーザーの1人が問題を抱えています...彼らのアバターは空白になります。彼らのアバター:

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

アバターのアイテムは、このアイテムがなくても正常に機能しますが、最初のレイヤーであるこのボデ​​ィを装着すると、空白になります。

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

ただし、ボディを最上層に移動すると表示されます...ただし、通常のアバターのように表示されるようにするには、ボディを最下層に保持する必要があります。なぜこれにより、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 (上記とは異なる本体を使用します)

4

1 に答える 1

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に変更したことに注意してください。)

于 2012-05-31T18:29:36.303 に答える