尝试构建我的第一个 pygame 项目并想要导入以下 map 。使用的图像:
我的代码是:
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 只是读取了错误的宽度,然后将像素放入具有该宽度的数组中。
任何有关解决此问题的建议将不胜感激。
最佳答案
SDL_image(Pygame 所基于的)中存在一个错误,会损坏 OS X 10.11 中的图像。
https://bugzilla.libsdl.org/show_bug.cgi?id=3154
目前,唯一已知的解决方法是降级到 SDL_image 1.2.10,但我无法确认。
关于python - 使用 pygame 扭曲图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582204/