Ich versuche, ein PNG-Bild auf eine Oberfläche blitten, aber das transparente Teil des Bildes stellt sich aus irgendeinem Grund schwarz, hier ist der einfache Code:Wie blit ich ein PNG mit etwas Transparenz auf eine Oberfläche in Pygame?
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))
Was muss ich tun, um das Problem zu lösen ? Das Bild hat Alpha-Transparenz, ich habe es in Photoshop geöffnet und der Hintergrund wird transparent, nicht schwarz oder weiß oder eine andere Farbe.
Vielen Dank für Ihre Unterstützung :)
pygame.image.load hat bereits Alpha, wenn es aus einem Bild mit Alpha geladen wird. –
@PeterShinners eigentlich, ruft 'convert()' oder 'convert_alpha()' ist immer noch bevorzugt, da dies nicht bedeutet, dass Blitze alle Pixelformatkonvertierung erfordern, die extrem langsam ist. – congusbongus