[英]PhotoImage zoom
我正在嘗試放大圖像並使用以下代碼顯示它
import tkinter as tk
from PIL import Image as PIL_image, ImageTk as PIL_imagetk
window = tk.Tk()
img1 = PIL_imagetk.PhotoImage(file="C:\\Two.jpg")
img1 = img1.zoom(2)
window.mainloop()
但是 python 說AttributeError: 'PhotoImage' object has no attribute 'zoom'
。 這里有一篇相關帖子的評論: PhotoImage 下的圖像調整大小,上面寫着“PIL 的 PhotoImage 沒有實現 Tkinter 的 PhotoImage 的縮放(以及其他一些方法)”。
我認為這意味着我需要在我的代碼中導入其他內容,但我不確定是什么。 任何幫助都會很棒!
img1
沒有方法zoom
,但是img1._PhotoImage__photo
有。 所以只需將您的代碼更改為:
import tkinter as tk
from PIL import Image as PIL_image, ImageTk as PIL_imagetk
window = tk.Tk()
img1 = PIL_imagetk.PhotoImage(file="C:\\Two.jpg")
img1 = img1._PhotoImage__photo.zoom(2)
label = tk.Label(window, image=img1)
label.pack()
window.mainloop()
順便說一句,如果要縮小圖像,可以使用subsample
img1 = img1._PhotoImage__photo.subsample(2)
方法將圖片縮小一半。
如果您有 PIL 圖像,那么您可以使用調整大小,如下例所示:
import tkinter as tk
from PIL import Image, ImageTk
window = tk.Tk()
image = Image.open('C:\\Two.jpg')
image = image.resize((200, 200), Image.ANTIALIAS)
img1 = ImageTk.PhotoImage(image=image)
label = tk.Label(window, image=img1)
label.pack()
window.mainloop()
注意我只是導入Image
和ImageTk
,不需要重命名為PIL_image
和PIL_imagetk
,這對我來說只是令人困惑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.