代碼非常簡單。
如果我使用此代碼 (...{file_name}.jpg"),它會給我:“無法識別影像檔案“.\downloaded_cards\27551.jpg”中的資料。只有當我使用 .png 版本的影像和代碼時,它才能作業。
但是,我不想更改我的實際檔案或將它們復制到我的檔案夾中。有沒有辦法在單擊“顯示”時臨時執行此操作,而不更改原始檔案夾?
import PySimpleGUI as sg
layout = [
[sg.Button("Show")],
[sg.Image(key="myimg")],
]
window = sg.Window("Test", layout)
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
if event == "Show":
file_name = "27551"
file_image = f".\\downloaded_cards\\{file_name}.jpg"
window["myimg"].update(file_image)
uj5u.com熱心網友回復:
您可以使用包呼叫Pillow(通過安裝它pip install pillow)。這是一個叉子PIL。
首先,像這樣匯入枕頭:from PIL import Image, ImageTk
然后,您可以像這樣打開影像檔案:img = Image.open('file_path_here')
最后,你可以讓它像
window['myimg'].update(
data=ImageTk.PhotoImage(img),
)
完整代碼:
import PySimpleGUI as sg
from PIL import Image, ImageTk #Image for open, ImageTk for display
layout = [
[sg.Button("Show")],
[sg.Image(key="myimg")],
]
window = sg.Window("Test", layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED: #There is no key call Exit so event == "Exit" is unimportant
break
if event == "Show":
file_name = "27551"
image = Image.open(f"./downloaded_cards/{file_name}.jpg") #I prefer /
window["myimg"].update(
data = ImageTk.PhotoImage(file_image)
) #update the myimg key
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/454972.html
標籤:Python 图片 PNG JPEG pysimplegui
上一篇:如何在Chrome瀏覽器keydown事件中捕獲“Ctrl 1”熱鍵?
下一篇:顫動按鈕以在其上方顯示影像
