2011-06-24 11 views
2

set_colorkeyメソッドとconvert_alphaメソッドの両方を使用して、透明になるようにイメージを設定することができます。しかし、2枚の画像を重ね合わせようとすると、何らかの理由で透明度が失われてしまいます。だから、繰り返しに画像をpygameの別の画像に透明にすることができますか?

、別の画像の上に画像の一部を透明にする方法(例えば、2つのPNGまたはGIFファイル)

+1

コードを投稿できますか?あなたは両方のイメージをバックグラウンドで、あるいはもう一方を背景として、そしてバックグラウンドでブリッティングしていますか?どのようにサーフェスを定義し、イメージをロードしていますか? –

+0

ある面からもう一方の面に向かってブリッジしていますか、または両方を画面に表示していますか? – ninMonkey

答えて

0

があるあなたが「バグだらけ」行動に実行している場合、私はわかりませんかない。カラーキーアルファは、あなたがやろうとしていることをサポートしていない可能性があります。また、ピクセルデータを間違って定義している可能性があります。また、ある種のバグ(ビデオドライバまたはパイゲーム)体験している。

しかし、私はあなたのための回避策を持っている:colorkeys、表面アルファ、およびピクセルのアルファ

http://www.pygame.org/docs/ref/surface.html

pygameのではサポートされ、透明性の3つのタイプがあります。ピクセルアルファを試すことができます。カラーキーのアルファより柔軟性があり、必要に応じて多くのレイヤーをブレンドする必要があります。

サーフェスの作成時にSRCALPHAを渡し、入力ピクセルデータに適切に定義されたアルファチャンネルがあることを確認します。

+0

これは初心者のタイプの質問かもしれません....私は 'image = pygame.Surface([640,480]、SRCALPHA、32)'のように 'SRCAPLHA'をサーフェスに渡すことができると思います。 'image = pygame.image.load(filename)'を読み込んだ画像の場合。唯一のパラメータはファイル名ですね。 –

+0

@ sq1020:ファイルを正しくフォーマットするだけです(あなたのペイントプログラムでアルファチャンネルを正しく作成してください)。そしてパイゲはあなたのために大活躍します。そうでない場合は、ごめんなさい、私は助けることができません。私はpygame、SDL(それに似たAPIを持っている)だけで働いたことがありません。それは数年後です:) –

+0

@ sq1020:このオプションがうまくいかない場合は、私は知っているし、私は新しい答えを怖がらないようにそれを削除します。 –

関連する問題