我需要在tk窗口中显示图像,但只能使用这些功能来执行此操作;
from urllib.request import urlopen
from re import findall, MULTILINE, DOTALL
from webbrowser import open as webopen
from os import getcwd
from os.path import normpath
from tkinter import *
from sqlite3 import *
from datetime import datetime
我在想,只要通过tkinter的标准功能,我可以通过某种方式实现这一目标,但尚未找到任何可行的方法。
我或我可以尝试找到将图像转换为GIF的方法。请注意,系统中不能存储任何图像。
我需要显示的图片是JPG或PNG,例如this。
感谢任何帮助。
答案 0 :(得分:1)
如上所述here:
PhotoImage类可以从文件中读取GIF和PGM / PPM图像:
photo = PhotoImage(file="image.gif") photo = PhotoImage(file="lenna.pgm")
PhotoImage还可以从字符串中读取base64编码的GIF文件。您可以使用它在Python源代码中嵌入图像(使用base64模块中的函数将二进制数据转换为base64编码的字符串):
正如下面的评论和here所指出的那样,你也可以使用PhotoImage
的PNG图像。
tkinter中的图像必须作为要绘制的PhotoImage
对象传入,为了获得PhotoImage
个对象,图像必须是上述格式之一。
因此,您需要找到一种方法,使用您可用的模块以其中一种格式获取图像。
答案 1 :(得分:0)
Tcl / Tk模块Img
允许您使用PhotoImage加载JPEG和PNG(以及其他格式)。该模块包含在Tcl / Tk的一些打包发行版中。所以值得检查它是否安装在您正在使用的计算机上。为此,请尝试使用以下命令加载:
widget.tk.eval('package require Img')
widget
可以是任何Tkinter小部件。
如果它返回版本号,则会安装并加载它,以便您可以使用它并打开JPEG图像,只需执行
PhotoImage(file='/my/image.jpg')