6

私は PHP で非常に単純な ISO エンジンを作成しようとしています。正しい場所、順序などでレンダリングする試みは成功していますが、描画された画像は何らかの理由で透明であるべきところが黒くなっています。PNG ファイルには透明度チャネルがあり、次のテスト コードを使用しています: http://pastebin.com/TXk4LkJ8コードはラフ ドラフトです。

ファイルはブロックの 3 つの面であり、寸法は次のとおりです。上 - 44x22。側面:23x34

ご協力いただきありがとうございます。質問が十分に明確であることを願っています。

編集: ここに問題があります: http://dl.dropbox.com/u/10530011/obrazki/isofail.png

編集: [解決済み] 何らかの理由で、画像を GIF として保存して機能させる必要がありました。ご協力ありがとうございました。

4

2 に答える 2

12

PNG 画像を保存する前に、次の 2 つの関数imagealphablending()imagesavealpha()を呼び出す必要があります。

imagealphablending( $image, false );
imagesavealpha( $image, true );
于 2011-05-06T15:50:45.423 に答える
3

この回答は、次の 2 つのことを示唆しています。

  • imagealphablendingアルファ チャンネルを維持するには、false に設定する必要があります。
  • 透明にしたい色 (この場合は黒) を透明に設定する必要があります。
$black = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $black);

これらは役に立ちますか?

于 2011-05-06T15:26:16.153 に答える