我注意到,当显示jpg或png图像时,它们看起来很像GIF文件,因为颜色有限,而且#34;绑定"。
您可以看到原件和附件截图。有点难以说明缩小但你可以看到它。
其实更好的例子。看看圈子周围的条带?
这是我的代码:
#pygame code to render an image
import pygame, os
import time
image = 'gradient-test.png' #located in same folder as this file:resized in Photoshop
pygame.init() #I assume you did this?
SCREEN = pygame.display.set_mode((1366, 768))
pygame.mouse.set_pos((1366, 768))
picture = pygame.image.load(image)
SCREEN.blit(picture,(0,0))
pygame.display.update()
time.sleep(5)
答案 0 :(得分:0)
表面的像素格式似乎有问题。您可以在脚本中添加以下行,以查看图像表面的像素格式与屏幕表面之间是否存在差异:
print 'picture', picture.get_bitsize()
print 'screen', SCREEN.get_bitsize()
这是一种很好的做法,建议您通过调用convert()
始终将任何新曲面的像素格式更改为屏幕表面的像素格式:
convert()
更改图像的像素格式
convert(Surface) -> Surface
创建一个新的Surface副本,其像素格式已更改...
如果没有传递参数,则新Surface将具有与显示Surface相同的像素格式。这总是最快的blitting格式。最好在将所有Surface多次blitting之前对其进行转换。
很简单:
picture = pygame.image.load(image).convert() # added convert() call
此外,您可以尝试手动设置屏幕的颜色深度,例如:
SCREEN = pygame.display.set_mode((1366, 768),0, 32) # use 32-bit color depth