Python图形编程探索系列-04-网上

发布时间:2019-03-19 21:10:53编辑:auto阅读(1920)

    跳转到自己的博客


    任务设定

    任务:从网上找到一张图片,然后将其显示在标签上?
    网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg
    效果

    解决方案

    第一步骤:利用简单的爬虫代码,将网上的图片下载下来,以备使用
    第二步骤:建立图形界面窗口,将获取的图片放到标签上,完成上图效果

    Code分析

    # 使用到的相关库
    import urllib.request
    from PIL import Image, ImageTk
    import tkinter as tk
    # -------------获取图片----------
    url = "http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg" # 图片链接
    require = urllib.request.Request(url)
    response = urllib.request.urlopen(require)
    photo = response.read()
    # 将图片photo写入到picture.jpg中的代码如下:
    with open(r'picture.jpg', 'wb') as f:
        f.write(photo)
        f.close()
    
    # -------------放置图片----------
    root = tk.Tk()
    strx = "从互联网上获取图片放置到图形界面窗口上"
    root.title(strx)
    pic = Image.open('picture.jpg')
    pic = ImageTk.PhotoImage(pic)
    create_label = tk.Label(root,  text=strx, image=pic, compound=tk.TOP).pack()
    root.mainloop()

    效果

    反思与感想

    尝试了多种格式的照片,发现tkinter支持.gif, .png, .bmp等少数格式,.jpg不支持,所以需要如下处理方案

    from PIL import Image, ImageTk
    pic = Image.open('picture.jpg')
    pic = ImageTk.PhotoImage(pic)

    生活中要敢于想与做,从一个知识点做起,分享出来,时间久了,就会汇聚大海。

关键字