2012-10-06 1 views
6

1つのPNGファイルに4つのPNG画像を結合したいと思います。私はImage.pasteメソッドとそれらを結合する人を知っていますが、保存出力ファイルを作成できませんでした!実際には、空のPNGファイルをn * m持っていて、画像を結合するのに使っています。 ファイルサイズを指定する必要がある場合は、メソッドを使用できませんでした。空のn * m PNGファイルをPythonでどのように作成できますか?

+1

どのライブラリですか? PIL? OpenCV? – Antimony

+1

@Antimony、私はタグの 'PIL'だと思います –

答えて

10
from PIL import Image 
image = Image.new('RGB', (n, m)) 
+1

ありがとう、そして私は' image.save( "image.png"、 "PNG") ' – Amir

0

どの部分を混乱させていますか?ドキュメントに示すように、Image.newを実行するだけで新しいイメージを作成できます。とにかく、PILで複数の画像を1つにまとめる前に書いたコードです。それらはすべて一列に並んでいますが、あなたはそのアイディアを得ています。

max_width = max(image.size[0] for image in images) 
max_height = max(image.size[1] for image in images) 

image_sheet = Image.new("RGBA", (max_width * len(images), max_height)) 

for (i, image) in enumerate(images): 
    image_sheet.paste(image, (
     max_width * i + (max_width - image.size[0])/2, 
     max_height * 0 + (max_height - image.size[1])/2 
    )) 

image_sheet.save("whatever.png") 
4

PIL.Image.new()メソッドを使用してイメージを作成できます。しかし、デフォルトの色はです。黒色はです。完全 -background空の画像を作成するには、コードでそれを初期化することができます。

from PIL import Image 
img = Image.new('RGB', (800,1280), (255, 255, 255)) 
img.save("image.png", "PNG") 

それは白い背景のサイズ800x1280でイメージを作成します。

関連する問題