Python:TKinter:如何替换图像

2024-09-30 06:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个函数来响应按钮的按下。此函数允许用户查找要上载到应用程序中的图像文件。问题是,当用户想要上传另一张图片时,现有的图片会被保留,而新的图片会被放在上面,以此类推,以此类推。我将如何编写代码来用新图像替换旧图像,等等。我已经考虑过这个问题,但仍然无法解决。我在想也许是一个全球阵列?我卡住了。谢谢

def importAlbumArt(self):
    # import mp3s only


    self.albumArt = askopenfilename(filetypes=[("JPEG Files", "*.jpeg"),("JPEG Files", "*.jpg"),("JPEG Files", "*.jif"),

                                            ("JPEG Files", "*.jfif"),("PNG Files", "*.png"),("GIF Files", "*.gif")])

    load = Image.open(self.albumArt)

    # place album art backdrop and change app status
    #self.albumFrame.place(x=self.editFrame.winfo_width()/75, y=self.editFrame.winfo_height()/50)
    self.status["text"] = "Album art imported"
    self.albumFrame.update()

    # resize image but maintain aspect ratio
    new_width = 250
    new_height = 250
    old_width = load.size[0]
    old_height = load.size[1]
    new_width = new_height * old_width/old_height
    new_height = new_width * old_height/old_width
    load = load.resize((int(new_width),int(new_height)), Image.ANTIALIAS)

    # render and place album art
    render = ImageTk.PhotoImage(load)
    img = (Label(self.editFrame, image=render))
    img.image = render
    img.grid(row=0, column=0, columnspan=2, rowspan=1)

Tags: imageselfimgnew图片loadplacefiles

热门问题