如何加载和blit图像python

时间:2012-01-29 21:11:13

标签: python tkinter pygame blit

我正在尝试使用

tkFileDialog.askopenfilename

加载图像然后在屏幕上显示它,但它没有用完。 我创建了一个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))

我该如何纠正?

感谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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))