这是将输入框中的图像添加到数据库中的部分
def add_img():
db=sq.connect('img.db')
conn=db.cursor()
with open(str(data.get()),'rb') as f:
file=f.read()
with open('yhu.png','wb') as p:
p.write(f)
conn.execute(''' INSERT INTO images(name,data)VALUES(?,?)''',(name,file))
db.commit()
db.close()
这部分应该将图像显示到tkiinter窗口中
def display():
db=sq.connect('img.db')
conn=db.cursor()
conn.execute('''SELECT * FROM images''')
row=conn.fetchall()
for i in row:
it=i[1]
this= open(str(len(i[1])),'wb')
this.write(base64string.decode('base64'))
this.close
imgd=ImageTk.PhotoImage(this)
panel=tk.Label(image=imgd,height=28,width=30)
panel.image = imgd
panel.grid()
db.close()
答案 0 :(得分:0)
PhotoImage
类可以接受二进制数据作为参数,而不必将其保存到文件中:
imgd = ImageTk.PhotoImage(data=it)
以上假设it
是原始图像文件中的二进制数据。