如何在python tkinter中显示已调整大小的图像

时间:2017-08-04 13:37:43

标签: python-2.7 tkinter python-imaging-library

我正在使用Tkinter开发Python的GUI来学习图像处理。 GUI的流程将是

加载图片(jpg | png | ...)=>调整大小/缩略图图像(240 * 240)=>预览图片

from Tkinter import *
import PIL
class Window:       
    def __init__(self, master):
        master.title("Image Processing test")
        master.minsize(800, 400)

        from PIL import Image
        im = Image.open("IMG_0562.png")
        size = 240, 240
        im.thumbnail(size)
        p = im.tobytes()

        # photo = PhotoImage(file="IMG_0562.gif")
        # photo = BitmapImage(data=p)
        w = Label(root, image=photo, width=240, height=240).grid(row=20, column=2)
        self.photo = photo


root = Tk()

window = Window(root)

root.mainloop()

我的问题是我无法以适当的格式获取图片以在Label中使用它。由于Label仅接受PhotoImageBitmapImagePhotoImage不支持pngjpg文件。因此,我使用Image中的PIL来加载和调整我的彩色图像。我也尝试了Image.tobitmap()Image.tobytes(),但在这种情况下没用。

1 个答案:

答案 0 :(得分:0)

使用.rtl main-menu li { text-align:right; }

将图像保存在内存中解决了问题
io.BytesIO()