36

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")

次のエラーが表示されます。

トレースバック (最新の呼び出しが最後): ファイル ""、1 行目、ファイル "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py"、523 行、runfile execfile(filename, namespace) ) ファイル "C:\Python27\Lib\site-packages\xy\pyimgmake.py"、125 行目、newImg1.PIL.save("img1.png") ファイル "C:\Python27\lib\site-packages\ PIL\Image.py"、512行目、getattr raise 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 return apply(encoder, (mode,) + args + extra) TypeError: 整数が必要です

4

3 に答える 3

58

PIL は newImg1 の属性ではありませんが、newImg1 は PIL.Image のインスタンスであるため、save メソッドがあるため、次のように動作するはずです。

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

ファイル .png を呼び出すだけではファイルが作成されないため、2 番目のパラメーターとしてファイル形式を指定する必要があることに注意してください。

試す:

type(newImg1)
dir(newImg1)

help(newImg1.save)
于 2013-10-29T06:30:10.847 に答える
3

これを試して:

newImg1 = pimg.as_PIL('RGB', (512,512))
...
newImg1.save('Img1.png')
于 2015-09-12T11:03:49.640 に答える