1

我正在尝试使用

tkFileDialog.askopenfilename

加载图像,然后在屏幕上进行 blit,但它不起作用。我创建了一个 Rect 按钮,这样当我单击它时,它会打开对话框以加载图像。加载它后,我希望它 blit 但它不工作。(错误)。这是我的代码:

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

我将如何纠正这一点?

谢谢。

4

2 回答 2

1

您应该首先将您的图像转换为 pygame 对象。例如使用:

sprite = pygame.image.load(filename)
screen.blit(sprite, (203,44))
于 2012-01-29T21:24:22.190 回答
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))
于 2012-01-29T21:25:05.770 回答