2012-10-06 107 views
6

我想將4個PNG圖像合併到一個PNG文件。我知道是誰將它們與Image.paste方法結合在一起,但我無法創建保存輸出文件!其實,我想有一個n * m的空PNG文件,並用於合併我的圖像。 我需要指定文件大小,如果不是我不能使用粘貼的方法。如何在Python中創建一個空的n * m PNG文件?

+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。它把它們放在一行中,但你明白了。

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白色背景創建圖像。