Pygame で透明度のある PNG 画像をブリッティングする
質問:
PNG をブリットしようとしています画像を表面に貼り付けると、透明な部分が黒く表示されます。問題の原因となっている簡略化されたコードは次のとおりです:
<code class="python">import pygame # ... treeImage = pygame.image.load("tree.png") # ...</code>
透明部分が黒くなるのはなぜですか?その解決方法は?
答え:
Pygameのドキュメントによると、PNG画像のアルファ透明度については、画像のロード後にconvert_alpha()メソッドを呼び出す必要があります。これにより、画像のピクセル単位の透明度が保証されます。
問題を解決するには、画像のロード後に次の行を追加するだけです:
<code class="python">treeImage.convert_alpha()</code>
これにより、画像がサポートされている形式に変換されます。ピクセルごとの透明度により、透明な領域を正しく表示できます。
以上がPygame で透明 PNG が黒く表示されるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。