python - 使用 pygame 扭曲图像

标签 python python-3.x pygame

尝试构建我的第一个 pygame 项目并想要导入以下 map 。使用的图像:

enter image description here

我的代码是:

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()

输出如下:

enter image description here

我也尝试过将 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/

相关文章:

python - 添加pytest的测试函数的局部变量,在pytest-csv中单独一列

python - 注释字段上的 django-filter 过滤器

python - 在 django 模型中使用 Greatest 函数时如何获取注释中相关对象的列表

python - 在pygame中彼此相邻放置时尝试删除两个对象

python - 如何调整仅在移动鼠标时才起作用的代码

python - 元音查找器,错误 : list index out of range

python - 如何从 ExitStack 中删除上下文管理器

python - 将复杂模块导入到Processing.py中

python - 在 macOS Sierra 上拖动 QTreeWidgetItem 时出现奇怪的行为

python - 2D 游戏中的运动(blitting 时的圆形位置?)