尝试构建我的第一个pygame项目,并希望导入以下地图。使用过的图片:
我的代码是:
import pygame
pygame.init()
size = (1300, 700)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("My Game")
done = False
clock = pygame.time.Clock()
map = pygame.image.load('map.jpg')
map = map.convert()
map = pygame.transform.scale(map, (466,700))
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
screen.fill((255,255,255))
screen.blit(map, (430, 0))
pygame.display.flip()
clock.tick(60)
pygame.quit()
,输出如下:
我也尝试将jpg转换为bmp,但结果仍然相同。我无法弄清楚是什么扭曲了图像,尝试使用其他图像,看起来输出的图像比原始图像略宽。我怀疑pygame只是读取错误的宽度,然后将像素放入具有该宽度的数组中。
任何有关解决这个问题的建议都会非常感激。
答案 0 :(得分:2)
SDL_image(Pygame所基于的)中存在一个错误,它会破坏OS X 10.11中的图像。
https://bugzilla.libsdl.org/show_bug.cgi?id=3154
目前,唯一已知的解决方法是降级到SDL_image 1.2.10,但我无法确认。