簡體   English   中英

Python-從URL在Tkinter中打開圖像-不使用PIL

[英]Python - Open image within Tkinter from URL - not using PIL

我需要在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,例如一幅。

任何幫助表示贊賞。

正如說在這里

PhotoImage類可以從文件讀取GIF和PGM / PPM圖像:

 photo = PhotoImage(file="image.gif") photo = PhotoImage(file="lenna.pgm") 

PhotoImage還可以從字符串讀取base64編碼的GIF文件。 您可以使用它在Python源代碼中嵌入圖像(使用base64模塊中的函數將二進制數據轉換為base64編碼的字符串):

正如下面的注釋中所指出的,在這里您還可以將PNG圖像與PhotoImage一起PhotoImage

PhotoImage圖像必須作為要繪制的PhotoImage對象傳遞,並且為了獲得PhotoImage對象,該圖像必須是上述格式之一。

因此,您將需要找到一種使用現有模塊以其中一種格式獲取圖像的方法。

Tcl / Tk模塊Img允許您使用PhotoImage加載JPEG和PNG(以及其他格式)。 該模塊包含在Tcl / Tk的某些打包發行版中。 因此,值得檢查它是否已安裝在您使用的計算機上。 為此,請嘗試將其加載:

widget.tk.eval('package require Img')

widget可以是任何Tkinter小部件。

如果返回版本號,則說明已安裝並加載它,因此您可以使用它並只需打開JPEG圖像即可

PhotoImage(file='/my/image.jpg')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM