Python 使用PIL导入png图像时遇到问题
我想导入png图像,但无法以正确的方式将imagetype写入图像函数的参数。我试过写“png”,“png”,imgtype=“png”,但它不起作用。有人知道如何正确地写这个吗。我正在使用下面的代码。顺便说一句,我正在使用OSXPython 使用PIL导入png图像时遇到问题,python,image,png,Python,Image,Png,我想导入png图像,但无法以正确的方式将imagetype写入图像函数的参数。我试过写“png”,“png”,imgtype=“png”,但它不起作用。有人知道如何正确地写这个吗。我正在使用下面的代码。顺便说一句,我正在使用OSX from Tkinter import * import PIL root = Tk() img = Image("this is where i'm supppsed to write imgtype", file="image.png") panel = Can
from Tkinter import *
import PIL
root = Tk()
img = Image("this is where i'm supppsed to write imgtype", file="image.png")
panel = Canvas(root)
panel.pack(side = "bottom", fill = "both", expand = "yes")
panel.create_image(image=img)
root.mainloop()
您正在尝试从tkinters
image
类创建图像,但它不支持.png
图像
从:
PhotoImage类可以从以下文件中读取GIF和PGM/PPM图像:
photo = PhotoImage(file="image.gif")
如果您需要使用其他文件格式,可以使用Python映像
库(PIL)包含的类可以让您在超过30分钟的时间内加载图像
格式化,并将其转换为Tkinter兼容的图像对象:
from PIL import Image, ImageTk
image = Image.open("lenna.jpg")
photo = ImageTk.PhotoImage(image)
通过从Tkinter导入执行*
,您正在将所有模块从Tkinter
包加载到全局命名空间中,因此在您的示例中,Image
实际上是Tkinter.Image
要解决您的问题,请尝试:
pil_img = PIL.Image.open("image.png")
img = PIL.ImageTk.PhotoImage(pil_img)
谢谢,成功了。然而,现在我遇到了一个新问题。。它说没有安装成像C模块。我在effbot.org上找到了这篇文章,这可能会有帮助: