【问题标题】:png, jpg images not displaying properly in pygame (mac osx pycharm / IDLE)png,jpg图像在pygame中无法正确显示(mac osx pycharm / IDLE)
【发布时间】:2016-08-11 07:06:48
【问题描述】:

最近开始在 mac osx 上使用 pycharm / python IDLE 使用 python 进行编码。

当在定义的 pygame 显示器上显示/blitting 图像时,png 和 jpg 格式无法正确显示(参见图像)。

只有 bmp 格式正确显示。

有什么建议可以让 jpg 和 png 在 pygame 中正确显示吗?

谢谢

source jpg image

how it appears on pygame display

import pygame, sys
    from pygame.locals import *

    pygame.init()

    width = 640
    height = 480

    screen = pygame.display.set_mode((width,height))
    pygame.display.set_caption('hello piggy')

    white = (255,255,255)
    image = pygame.image.load("flpig.jpg")

    x=160
    y=120

    running = True

    while running:
        screen.fill(white)
        screen.blit(image, (x, y))

        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

        pygame.display.update()

【问题讨论】:

  • 您在 while 循环中每秒更改 x 和 y 坐标 60 次。它从“右”开始并更新,然后依次向下、向左、向上。这会改变 x 和 y 坐标。然后你使用这些坐标对图像进行 blit 处理。尝试将fpsClock.tick(FPS) 更改为fpsClock.tick(3),看看您是否可以看到这些快速更新在做什么。
  • 另外,如下面的回答,您应该使用一个运行变量,并将其设置为 True 用于您的循环。
  • 感谢马林巴德。我已将代码简化到最低限度,仅用于显示图像。它仍然以扭曲的方式显示 jpg 和 png 图像,如我的问题中的附图所示。我想知道什么可以解决这个问题,真的很想在我的 pygames 中使用 png...
  • 如果你这样做会发生什么:pygame.image.load('flpig.jpg').convert() ?
  • 一样,一样。图片仍然无法正确显示...

标签: python macos pygame pycharm


【解决方案1】:
import pygame
from pygame.locals import*
img = pygame.image.load("flpig.jpg")
white = (255, 255, 255)
w = 640
h = 480
screen = pygame.display.set_mode((w, h))
screen.fill((white))
running = 1

while running:
 screen.fill((white))
 screen.blit(img,(0,0))
 pygame.display.flip()

【讨论】:

  • 感谢 Moo,但是 jpg 图像仍然无法正常显示
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多