gpt4 book ai didi

python - 照片图像缩放

转载 作者:行者123 更新时间:2023-12-01 07:06:53 27 4
gpt4 key购买 nike

我正在尝试放大图像并使用以下代码显示它

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'。这里有一个相关帖子的评论: Image resize under 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()

注意,我只是导入 ImageImageTk,不需要重命名为 PIL_imagePIL_imagetk >,这对我来说只是令人困惑

关于python - 照片图像缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58411250/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com