如何在pygame中显示图像?

Posted

技术标签:

【中文标题】如何在pygame中显示图像?【英文标题】:How to display Image in pygame? 【发布时间】:2012-07-09 07:21:14 【问题描述】:

我想从网络摄像头加载图像以在 pygame 上显示 我正在使用视频捕捉

from VideoCapture import Device
import pygame
import time
In=1
pygame.init()
w = 640
h = 480
size=(w,h)
screen = pygame.display.set_mode(size) 

while True:
    cam = Device()
    cam.saveSnapshot(str(In)+".jpg") 
    img=pygame.image.load(In)
    screen.blit(img,(0,0))
    In=int(In)+1
    In=str(In)

为什么这不起作用。Pygame 窗口打开但没有显示?

【问题讨论】:

您的图片是否名为 1.jpg 并且在同一个文件夹中? 老兄,如果您查看代码,您会看到 saveSnapshot(str(In)+".jpg") 可以使用pygame.camera拍照,去掉对VideoCapture的依赖 【参考方案1】:

你必须告诉 pygame 给update the display。

将图像传送到屏幕后,在循环中添加以下行:

pygame.display.flip()

顺便说一句,您可能想限制每秒拍摄的图像数量。使用time.sleep 或pygame clock。


from VideoCapture import Device
import pygame
import time
In=1
pygame.init()
w = 640
h = 480
size=(w,h)
screen = pygame.display.set_mode(size) 
c = pygame.time.Clock() # create a clock object for timing

while True:
    cam = Device()
    filename = str(In)+".jpg" # ensure filename is correct
    cam.saveSnapshot(filename) 
    img=pygame.image.load(filename) 
    screen.blit(img,(0,0))
    pygame.display.flip() # update the display
    c.tick(3) # only three images per second
    In += 1

【讨论】:

以上是关于如何在pygame中显示图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何在屏幕上显示 PIL 图像?

如何在 Pygame 中围绕偏离中心的枢轴旋转图像

如何在pygame中围绕精灵或图像绘制边框?

如何在 Pygame 中淡入和淡出文本

如何使用 pygame 在 Python 中保持 png 图像的透明度? [复制]

如何在pygame中检测两个矩形对象或图像之间的碰撞