不使用imageTK在文本小部件中插入图像

时间:2011-12-09 09:00:02

标签: python tkinter

不幸的是我正在使用osx机器进行开发,我无法安装imageTK ......

我需要插入从图像字典中拍摄的图像,然后保存:

i = open(filename, 'rb')
i.seek(0)
w = i.read()
i.close()
allicons[d]=w

所以在插入时我没有文件名,只有dict。

使用imageTk,这可行:

c = cStringIO.StringIO()
c.write(allicons[key])
c.seek(0)
im = Image.open(c)
iconimage=ImageTk.PhotoImage(im)
config.text.image_create(INSERT, image=iconimage)

但我不知道如何在没有imageTk的情况下做到这一点。 只需使用“导入图片”,我就试过了:

im = Image.open(c)
iconimage = PhotoImage(im)
识别

和iconimage(TkInter.PhotoImage对象...), 但插入它我得到一个“TypeError: str 返回非字符串(类型实例)...在image_create * self._options(cnf,kw))”

......任何帮助真的很感激,谢谢!

的Alessandro

1 个答案:

答案 0 :(得分:0)

PhotoImage有一个'数据'选项。您可以为其提供使用base64编码的gif数据。类似的东西:

dat = base64.encodestring(allicons[key])
pic = PhotoImage(data=dat)
...