Eri*_*ric 14 python png pygame alpha blit
我试图将PNG图像blit到表面上,但由于某种原因,图像的透明部分变黑,这是简单的代码:
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))
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决问题?图像具有Alpha透明度,我在PhotoShop中将其打开,背景变为透明,而不是黑色或白色或任何其他颜色.
感谢您的支持 :)
Nic*_*k T 26
http://www.pygame.org/docs/ref/image.html建议:
对于Alpha透明度,如.png图像
convert_alpha()在加载后使用该方法,以便图像具有每像素透明度.
小智 7
你没有翻转双缓冲器.
import pygame
from pygame.locals import Color
screen = pygame.display.set_mode((800, 600))
treeImage = pygame.image.load("tree.png").convert_alpha()
white = Color('white')
while(True):
screen.fill(white)
screen.blit(treeImage, pygame.rect.Rect(0,0, 128, 128))
pygame.display.flip()
Run Code Online (Sandbox Code Playgroud)
这应该适用于您的问题.
| 归档时间: |
|
| 查看次数: |
15615 次 |
| 最近记录: |