Pygame で透明度のある PNG をブリットする方法
透明度のある PNG 画像をサーフェスに組み込もうとすると、透明な領域が透明ではなく黒く見えます。この問題を示す一般的なコード スニペットを次に示します:
<code class="python">screen = pygame.display.set_mode((800, 600), pygame.DOUBLEBUF, 32) world = pygame.Surface((800, 600), pygame.SRCALPHA, 32) treeImage = pygame.image.load("tree.png") world.blit(treeImage, (0, 0), (0, 0, 64, 64)) screen.blit(world, pygame.rect.Rect(0, 0, 800, 600))</code>
この問題を解決するには、convert_alpha() メソッドを使用して PNG 画像のアルファ透明度を有効にすることが重要です:
<code class="python">treeImage = pygame.image.load("tree.png").convert_alpha()</code>
具体的には、Pygame のドキュメント (http://www.pygame.org/docs/ref/image.html)アドバイス:
「.png 画像のようなアルファ透明度については、読み込み後に Convert_alpha() メソッドを使用して、画像がピクセルごとの透明度を持つようにします。」
以上が透明度のある PNG が Pygame で黒く表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。