Maison  >  Article  >  développement back-end  >  Pourquoi mon PNG transparent devient-il noir dans Pygame et comment puis-je y remédier ?

Pourquoi mon PNG transparent devient-il noir dans Pygame et comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 20:17:30986parcourir

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

Blitting des images PNG avec transparence dans Pygame

Question :

Tentative de blit un PNG l'image sur une surface fait apparaître la partie transparente en noir. Voici le code simplifié à l'origine du problème :

<code class="python">import pygame

# ...

treeImage = pygame.image.load("tree.png")

# ...</code>

Pourquoi la transparence devient-elle noire et comment peut-elle être résolue ?

Réponse :

Selon la documentation de Pygame, pour la transparence alpha dans les images PNG, la méthode convert_alpha() doit être appelée après le chargement de l'image. Cela garantit que l'image a une transparence par pixel.

Pour résoudre le problème, ajoutez simplement la ligne suivante après avoir chargé l'image :

<code class="python">treeImage.convert_alpha()</code>

Cela convertira l'image dans un format prenant en charge transparence par pixel, permettant d'afficher correctement les zones transparentes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn