ホームページ  >  記事  >  バックエンド開発  >  透明度のある PNG が Pygame で黒く表示されるのはなぜですか?

透明度のある PNG が Pygame で黒く表示されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 09:49:27614ブラウズ

Why Does My PNG with Transparency Appear Black in Pygame?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。