在python中显示jpg图像

在python中显示jpg图像,python,tkinter,Python,Tkinter,我正在创建一个简单的工具,用python将唱片封面图像添加到mp3文件中。到目前为止,我只是在向亚马逊发送一个艺术家和专辑标题的请求,并获取结果列表,以及查找每个结果的实际图像。我想做的是显示一个简单的框架,每个图像有一个按钮/链接,还有一个跳过/取消按钮 我做了一些谷歌搜索,但我找不到可以作为基础的例子 我想直接从网络上显示图像。即,使用urllib打开字节并将其读入内存,而不是通过磁盘上的文件 我想最好将图像显示为按钮 所有的例子似乎都集中于处理磁盘上的文件,而不仅仅是使用缓冲区。pytho

我正在创建一个简单的工具,用python将唱片封面图像添加到mp3文件中。到目前为止,我只是在向亚马逊发送一个艺术家和专辑标题的请求,并获取结果列表,以及查找每个结果的实际图像。我想做的是显示一个简单的框架,每个图像有一个按钮/链接,还有一个跳过/取消按钮

我做了一些谷歌搜索,但我找不到可以作为基础的例子

  • 我想直接从网络上显示图像。即,使用urllib打开字节并将其读入内存,而不是通过磁盘上的文件
  • 我想最好将图像显示为按钮
  • 所有的例子似乎都集中于处理磁盘上的文件,而不仅仅是使用缓冲区。python标准库中的TK文档似乎没有涵盖基本按钮小部件。这似乎是一项简单的任务,我还没有找到合适的文档。

    您可以使用
    urllib.urlopen()
    进行修改。但我不知道(因为我还没有测试过)您是否可以在不将(图像)文件保存到本地的情况下执行此步骤。但是IMHO
    urlopen
    返回一个文件句柄,该句柄在
    tk.PhotoImage()
    中可用

    对于PhotoImage中的jpg文件,您需要:


    要在Python中显示JPG,请查看PIL

    您只编写了所需内容,毫无疑问。
    PIL
    用于处理图像。当实际显示结果时,它很糟糕。事实上,
    PIL
    Image.show()
    方法将图像数据保存到一个临时文件中,并调用一个外部程序来显示它。我必须运行
    sudo-apt-get-install-python-imaging-tk
    ,以便ImageTk导入工作
    运行时错误:创建图像还太早,不管这意味着什么
    
    from PIL import Image, ImageTk
    image = Image.open("test.jpg")
    photo = ImageTk.PhotoImage(image)