首页 文章

使用PIL保存图像

提问于
浏览
17

我正在尝试使用PIL保存我从头开始创建的图像

newImg1 = PIL.Image.new('RGB', (512,512))
pixels1 = newImg1.load()

...

for i in range (0,511):
    for j in range (0,511):
       ...
            pixels1[i, 511-j]=(0,0,0)
        ...

newImg1.PIL.save("img1.png")

我收到以下错误:

Traceback(最近一次调用最后一次):文件“”,第1行,文件“C:\ Python27 \ lib \ site-packages \ spyderlib \ widgets \ externalshell \ sitecustomize.py”,第523行,在runfile execfile中(文件名,命名空间)文件“C:\ Python27 \ Lib \ site-packages \ xy \ pyimgmake.py”,第125行,在newImg1.PIL.save(“img1.png”)文件“C:\ Python27 \ lib \ site-packages \ PIL \ Image.py“,第512行,getattr引发AttributeError(name)AttributeError:PIL

我需要帮助解释此错误以及如何正确保存图像为“img1.png”(我很好将图像保存到默认保存点) .


更新:

from PIL import Image as pimg
...
newImg1 = pimg.new('RGB', (512,512))
...
newImg1.save("img1.png")

我收到以下错误:

... newImg1.save(“img1.png”)文件“C:\ Python27 \ lib \ site-packages \ PIL \ Image.py”,第1439行,保存save_handler(self,fp,filename)文件“C :\ Python27 \ lib \ site-packages \ PIL \ PngImagePlugin.py“,第572行,_save ImageFile._save(im,_idat(fp,chunk),[(”zip“,(0,0)im.size, 0,rawmode)])文件“C:\ Python27 \ lib \ site-packages \ PIL \ ImageFile.py”,第481行,在_save中e = Image._getencoder(im.mode,e,a,im.encoderconfig)文件“C:\ Python27 \ lib \ site-packages \ PIL \ Image.py”,第399行,在_getencoder中返回apply(编码器,(模式,)args extra)TypeError:需要一个整数

2 回答

  • 26

    PIL不是newImg1的属性,但newImg1是PIL.Image的一个实例,因此它有一个save方法,因此以下内容应该有效 .

    newImg1.save("img1.png","PNG")
    

    请注意,只调用文件.png不会使其成为一个,因此您需要将文件格式指定为第二个参数 .

    尝试:

    type(newImg1)
    dir(newImg1)
    

    help(newImg1.save)
    
  • 2

    试试这个:

    newImg1 = pimg.as_PIL('RGB', (512,512))
    ...
    newImg1.save('Img1.png')
    

相关问题