如何将 JPEG 图像插入 python Tkinter 窗口?

Posted

技术标签:

【中文标题】如何将 JPEG 图像插入 python Tkinter 窗口?【英文标题】:How do I insert a JPEG image into a python Tkinter window? 【发布时间】:2014-07-17 01:26:05 【问题描述】:

如何将 JPEG 图像插入 Python 2.7 Tkinter 窗口?以下代码有什么问题?图片名为Aaron.jpg

#!/usr/bin/python

import Image
import Tkinter
window = Tkinter.Tk()

window.title("Join")
window.geometry("300x300")
window.configure(background='grey')

imageFile = "Aaron.jpg"

window.im1 = Image.open(imageFile)


raw_input()
window.mainloop()

【问题讨论】:

您在这方面花了多长时间? 嗯...分机是干什么用的? 可能没必要这么说...“请修正代码并粘贴在下面!” 您遇到的错误是什么?检查this 并查看问题是否仍然存在 @dilbert 超过六年 (: 【参考方案1】:

试试这个:

import tkinter as tk
from PIL import ImageTk, Image

#This creates the main window of an application
window = tk.Tk()
window.title("Join")
window.geometry("300x300")
window.configure(background='grey')

path = "Aaron.jpg"

#Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object.
img = ImageTk.PhotoImage(Image.open(path))

#The Label widget is a standard Tkinter widget used to display a text or image on the screen.
panel = tk.Label(window, image = img)

#The Pack geometry manager packs widgets in rows or columns.
panel.pack(side = "bottom", fill = "both", expand = "yes")

#Start the GUI
window.mainloop()

相关文档:ImageTk Module、Tkinter Label Widget、Tkinter Pack Geometry Manager

【讨论】:

请注意,原始 PIL 不适用于 Python 3,但 Pillow 几乎可以替代:pillow.readthedocs.io/en/latest/index.html Re @Caspar 的评论,在 Python 3(.6) 的命令行中,执行 pip install pillow 以获取模块。 请注意,包含图像的附加“弹出”窗口也需要在标签实例化之外指定图像(例如label = tk.Label(window, image=img) 然后label.image = img 最后label.pack()【参考方案2】:
import tkinter as tk
from tkinter import ttk
from PIL import Image,  ImageTk
win = tk. Tk()
image1 = Image. open("Aoran. jpg")
image2 =  ImageTk. PhotoImage(image1)
image_label = ttk. Label(win , image =.image2)
image_label.place(x = 0 , y = 0)
win.mainloop()

【讨论】:

【参考方案3】:
from tkinter import *
from PIL import ImageTk, Image

window = Tk()
window.geometry("1000x300")

path = "1.jpg"

image = PhotoImage(Image.open(path))

panel = Label(window, image = image)

panel.pack()

window.mainloop()

【讨论】:

请在此处添加一些关于 wat is hapng 的解释

以上是关于如何将 JPEG 图像插入 python Tkinter 窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 jpeg 大小减小到“所需大小”?

如何将 jpeg 帧从 java 客户端流式传输到 python 服务器

在不超过 inode 或硬盘空间的情况下存储大量 jpeg 图像(Python)

如何拍摄由 Python-tkinter 创建的正在运行的 GUI 窗口的快照并保存为图像文件(.jpeg/.png)?

在python中从PDF中提取图像而不重新采样?

如何将iphone屏幕截图保存为jpeg图像?