【问题标题】:Resize url image using urllib and pil使用 urllib 和 pil 调整 url 图像大小
【发布时间】:2015-01-28 15:11:13
【问题描述】:

我希望从 url 中检索图像,调整其大小(以适合 GUI),然后在 GUI 中显示图像。我相信我已经掌握了基本前提……或者至少我知道如何检索和显示图像。我在下面提供了一些示例代码。

import pywapi, pprint, string, urllib, io
from Tkinter import *
from PIL import Image, ImageTk


root = Tk()
root.geometry("1440x900+0+0")
fd = urllib.urlopen("http://images.intellicast.com/WxImages/Radar/den.gif")
imgFile = io.BytesIO(fd.read())
im = ImageTk.PhotoImage(Image.open(imgFile)) # <-- here
image = Label(root, image = im, bd =2)
image.grid(row = 8, column = 0, columnspan = 2, padx = 20, pady = 30)

# This is just some working code for resizing an image from a url
#fd = urllib.urlretrieve("http://images.intellicast.com/WxImages/Radar/den.gif", "den.gif")
#im1 = Image.open("den.gif")    
#im_small = im1.resize((200, 200), Image.ANTIALIAS)
#im_small.save("den.gif")

root.mainloop()

所以两个代码部分都有效,我只是不确定如何适当地组合它们。谢谢你的时间!

【问题讨论】:

    标签: python python-2.7 io python-imaging-library urllib


    【解决方案1】:

    im_small 传递给PhotoImage 而不是Image.open

    fd = urllib.urlretrieve("http://images.intellicast.com/WxImages/Radar/den.gif", "den.gif")
    im1 = Image.open("den.gif")    
    im_small = im1.resize((200, 200), Image.ANTIALIAS)
    
    im = ImageTk.PhotoImage(im_small)
    image = Label(root, image = im, bd =2)
    image.grid(row = 8, column = 0, columnspan = 2, padx = 20, pady = 30)
    

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 2012-09-29
      • 1970-01-01
      • 2016-10-04
      相关资源
      最近更新 更多