2012-10-06 8 views
6

Me gustaría combinar 4 imágenes PNG en un archivo PNG. Sé quién combinarlos con el método Image.paste, pero no pude crear un archivo de salida de guardado. En realidad, quiero tener un archivo PNG n * m vacío, y usarlo para combinar mis imágenes. Necesito especificar el tamaño del archivo, si no, no pude usar pegar método.¿Cómo puedo crear un archivo PNG n * m vacío en Python?

+1

¿Qué biblioteca? PIL? OpenCV? – Antimony

+1

@Antimonio, supongo 'PIL' de las etiquetas –

Respuesta

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

Gracias, y luego debería guardarlo con' image.save ("image.png", "PNG") ' – Amir

0

¿Qué parte te confunde? Puede crear imágenes nuevas simplemente haciendo Image.new, como se muestra en los documentos. De todos modos, aquí hay un código que escribí hace mucho tiempo para combinar varias imágenes en una en PIL. Los pone a todos en una sola fila, pero entiendes la idea.

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

Puede usar el método PIL.Image.new() para crear la imagen. Pero el color predeterminado es negro. Para hacer una imagen vacía totalmente blanco -Antecedentes, puede inicializar con el código:

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

Se crea una imagen con el tamaño 800x1280 con fondo blanco.

Cuestiones relacionadas