Próbuję Blit obrazu PNG na powierzchnię, ale przezroczysta część obrazu staje się czarny z jakiegoś powodu, oto prosty kod:Jak zbryzgować PNG z jakąś przezroczystością na powierzchni w 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))
Co muszę zrobić, aby rozwiązać ten problem ? Obraz ma przezroczystość alfa, otworzyłem go w PhotoShop, a tło zmieni się na przezroczyste, a nie czarne lub białe lub inny kolor.
Dziękuję za wsparcie :)
pygame.image.load będzie już mieć alfa po załadowaniu z obrazka z alfą. –
@PeterShinners w rzeczywistości, wywołanie 'convert()' lub 'convert_alpha()' jest nadal preferowane, ponieważ niezastosowanie się do tego spowoduje, że wszystkie blity będą wymagać konwersji w formacie pikseli, co jest bardzo powolne. – congusbongus