我正在尝试将图像添加到数组中,并希望使用tkinter在窗口中显示它们。我尚未编写示例代码以仅插入一个图像,但是在定义全局变量时遇到问题。
from tkinter import *
import numpy as np
app=Tk()
app.title("Slideshow")
frame= Canvas (bg='black', height=600, width=1000)
global img
img1 = np.append(img,PhotoImage(file='images/1.png'))
frame.create_image(800,50,anchor=NE,image=img1)
frame.pack()
app.mainloop()
我遇到的错误是:
Traceback (most recent call last):
File "C:/Users/Maha Waqar/PycharmProjects/SlideShow/1st.py", line 10, in <module>
img1 = np.append(im,PhotoImage(file='images/1.png'))
NameError: name 'img' is not defined
我试图以可能的方式使用全局变量,以便它可以工作但运气不好。在这方面的任何建议都是非常可取的。
答案 0 :(得分:0)
我不知道您为什么尝试使用numpy
和np.append()
。但是,broblem是如此基础,您甚至都不必问。
您必须先创建数组
img = np.array(PhotoImage)
然后您可以添加
img1 = np.append(img, ...)
但是存在下一个问题-您不能将数组与create_image()
一起使用。您必须使用单个图像。
img = np. array()
single_image = PhotoImage(file='images/1.png')
img1 = np.append(img, single_image)
frame.create_image(..., image=single_image)
您可以使用标准列表代替numpy
img_list = []
single_image = PhotoImage(file='images/1.png')
img_list.append(single_image)
frame.create_image(..., image=single_image)
或使用索引从列表中获取图像-即。 img_list[-1]
给出列表中的最后一张图片
img_list = []
img_list.append(PhotoImage(file='images/1.png'))
frame.create_image(..., image=img_list[-1])