如何在Python中加载和复制图像

1 投票
2 回答
1027 浏览
提问于 2025-04-17 11:54

我正在尝试使用

tkFileDialog.askopenfilename

来加载一张图片,然后把它显示在屏幕上,但这并没有成功。我创建了一个矩形按钮,当我点击它时,会打开一个对话框来加载图片。加载完图片后,我想把它显示出来,但这没有成功(出现了错误)。这是我的代码:

if loadrect.collidepoint(mx,my) and mb[0]==1:
            filename = tkFileDialog.askopenfilename(filetypes=Formats,title="Choose an image to open")
            if filename!= None:
                screen.blit(filename,(203,44))

我该如何修正这个问题呢?

谢谢。

2 个回答

1

你首先需要把你的图片转换成一个pygame对象。比如可以使用:

sprite = pygame.image.load(filename)
screen.blit(sprite, (203,44))
1

在使用pygame时,你需要先加载图片,光是提供文件名是不够的(http://www.pygame.org/docs/ref/image.html#pygame.image.load):

if loadrect.collidepoint(mx,my) and mb[0]==1:
    filename = tkFileDialog.askopenfilename(filetypes=Formats,title="Choose an image to open")
    if filename!= None:
        surface = pygame.image.load(filename)
        screen.blit(surface,(203,44))

撰写回答