So blitieren Sie ein PNG mit Transparenz in Pygame
Beim Versuch, ein PNG-Bild mit Transparenz in eine Oberfläche zu integrieren, kann der transparente Bereich beschädigt werden erscheinen schwarz statt transparent. Hier ist ein allgemeiner Codeausschnitt, der dieses Problem veranschaulicht:
<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>
Um dieses Problem zu beheben, ist es wichtig, Alpha-Transparenz für das PNG-Bild mithilfe der Methode „convert_alpha()“ zu aktivieren:
<code class="python">treeImage = pygame.image.load("tree.png").convert_alpha()</code>
In der Dokumentation von Pygame (http://www.pygame.org/docs/ref/image.html) wird ausdrücklich Folgendes empfohlen:
„Für Alpha-Transparenz, wie in .png-Bildern, verwenden Sie nach dem Laden die Methode „convert_alpha()“. Das Bild hat eine Transparenz pro Pixel.“
Das obige ist der detaillierte Inhalt vonWarum erscheint mein PNG mit Transparenz in Pygame schwarz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!