Pygame で透明 PNG が黒く表示されるのはなぜですか?それを修正するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-30 20:17:30
オリジナル
1056 人が閲覧しました

Why does my transparent PNG blit as black in Pygame, and how can I fix it?

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート