如何使用 Pillow 显示图像?

Posted

技术标签:

【中文标题】如何使用 Pillow 显示图像?【英文标题】:How can I display an image using Pillow? 【发布时间】:2015-03-24 05:55:57 【问题描述】:

我想使用 Pillow 显示 gif 图像

这是我的简单代码:

from tkinter import *
from PIL import Image, ImageTk 
import tkinter as Tk 

image = Image.open("Puissance4.gif") 
image.show()

但是什么也没发生……

所有帮助将不胜感激

谢谢!

【问题讨论】:

from PIL import ImageShow 是什么意思; ImageShow._viewers返回? 返回[] 谢谢! 你使用的是什么操作系统? 我在树莓派上使用 Raspbian 您使用什么命令从命令行显示图像? 【参考方案1】:

PIL 提供了一个show 方法,它会尝试检测您的操作系统并选择一个 合适的观众。在 Unix 上,它会尝试调用 imagemagick 命令displayxv。在 Mac 上它使用 open,在 Windows 上它使用......其他东西。

如果找不到合适的查看器,ImageShow._viewers 将是一个空列表。

在 Raspbian 上,您需要安装图像查看器,例如 displayxvfim。 (注意在网络上搜索会显示有许多图像查看器可用。)然后 您可以通过指定 command 参数来告诉 PIL 使用它:

image.show(command='fim')

要在 Tkinter 中显示图像,您可以使用以下内容:

from PIL import Image, ImageTk 
import tkinter as tk 

root = tk.Tk()
img = Image.open("image.gif")
tkimage = ImageTk.PhotoImage(img)
tk.Label(root, image=tkimage).pack()
root.mainloop()

【讨论】:

由于 fim 已被弃用,我无法将其与 command='fbi' 一起使用:raspberrypi-spy.co.uk/2014/09/…

以上是关于如何使用 Pillow 显示图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中使用 Pillow 创建日历?

如何使用 PIL/Pillow 将图像合并到画布中?

如何强制 Pillow 将图像调整为任意大小?

如何使用Pillow从图像创建位图而不保存图像?

如何使用 Python Pillow 定义模糊半径?

Pillow库进行图像文件处理(配图详解)