Image python如何支持在画布或标签小部件上显示图像?

Image python如何支持在画布或标签小部件上显示图像?,image,python-2.7,tkinter,photoimage,Image,Python 2.7,Tkinter,Photoimage,问题不在于Python是否支持图像显示,而在于它如何支持图像显示。根据选择,我使用的是Python2.7,它安装了Tkinter和Image库/模块。我没有pygame模块,它似乎很容易支持在图形用户界面上使用图像 要在系统上打开文件或文件名,我正在使用tkFileDialog,此模块按预期工作。然后,我可以将tkFileDialog命令的输出与Image模块结合起来创建一个Image对象(使用open方法)。完成此操作后,我可以使用Image的show方法显示我的图形,请参见以下内容: imp

问题不在于Python是否支持图像显示,而在于它如何支持图像显示。根据选择,我使用的是Python2.7,它安装了TkinterImage库/模块。我没有pygame模块,它似乎很容易支持在图形用户界面上使用图像

要在系统上打开文件或文件名,我正在使用tkFileDialog,此模块按预期工作。然后,我可以将tkFileDialog命令的输出与Image模块结合起来创建一个Image对象(使用open方法)。完成此操作后,我可以使用Image的show方法显示我的图形,请参见以下内容:

import Image
import Tkinter
import tkFileDialog as File
root = Tkinter.Tk()
root.title('Image Test')
root.file = File.askopenfile()
root.image = Image.open(root.file)
root.label = Tkinter.Label(image=root.image)
root.label.grid()
Python使用ImageMagick显示缩放的图像,如果在第7行之后,我使用

root.image.show()
但是,当我尝试使用标签(如我的代码所示)和PhotoImage小部件(描述为支持图像显示)将图像加载到Tkinter窗口时,python分别抛出Tcl错误和运行时错误。信息是:使用PhotoImage时“创建图像为时尚早”,使用Label时“图像不存在”(代码中的第8行)。有人能提供帮助而不建议我在python(版本:2.7)安装中添加模块吗

我期待着与位图和jpeg/jpg/jpe图像的工作。最好是使用create_image方法将图像加载到Canvas对象上。也就是说,当且仅当我可以将图像加载到PhotoImage对象中时(不包括代码)。我会选择一个带有图像的标签,它最终会被加载到画布上

有用的stackoverflow问题,供参考:


对于下面的其他人来说,似乎可以通过使用图像模块打开图像,并以编程方式将其保存为gif文件类型,来实现任何图像文件扩展名。然后,使用PhotoImage模块将结果加载到画布小部件

import Tkinter, Image, tkFileDialog as File
filename = File.askopenfilename() #choose jpg
image = Image.open(filename) 
image.save(fp='somename', format='GIF')
temporarygif = File.askopenfilename() #choose gift
photo = Tkinter.PhotoImage(file=temporarygif)
root = Tkinter.Tk()
root.title('Simple Image Display')
root.canvas = Tkinter. Canvas(root, options)
root.canvas.create_image(0,0,image=photo)
root.canvas.pack()
root.mainloop()
伟大的头颅特纳


问题:保存的gif会出现一些颜色质量损失。它看起来像256色图像,而不是全色图像。

发布您正在使用的代码可能会有帮助,以便其他人更容易看到您的真实想法doing@CertainPerformance我需要这个格式指南;如果可以,请原谅。以下不是答案,而是强调我需要tkinter和Image方面的帮助,而不是pygame之类的替代方案;GTK/GTK+(pygtk/GTK)还具有完善的图像显示功能;gtk.Image().set_from_file('Image name')你的第一句话问了一个太宽泛的问题,与你的实际问题“我如何在tkinter中使用图像魔法”。@TerryJanReedy不,这根本不是我的问题。我的问题是所描述的使用Tkinter显示图像的方法不起作用。我故意把它说得宽泛些,以免在Tkinter应该如何工作的问题上自以为是。