Chciałbym połączyć 4 obrazy PNG do jednego pliku PNG. Wiem, kto je połączyć z metodą Image.paste, ale nie mogłem utworzyć pliku wyjściowego zapisu! Właściwie, chcę mieć n * m pusty plik PNG i używać do łączenia moich obrazów. Potrzebuję określić rozmiar pliku, jeśli nie, nie mogę użyć metody wklejania.Jak mogę utworzyć pusty plik PNG n * m w Pythonie?
6
A
Odpowiedz
10
from PIL import Image
image = Image.new('RGB', (n, m))
+1
Dzięki, a następnie powinienem zapisać go za pomocą' image.save ("image.png", "PNG") ' – Amir
0
W której części jesteś zdezorientowany? Możesz tworzyć nowe obrazy, robiąc Image.new
, jak pokazano w dokumentach. W każdym razie, oto kod napisany dawno temu, aby połączyć wiele obrazów w jeden w PIL. Stawia je wszystkie w jednym rzędzie, ale masz pomysł.
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
Możesz użyć metody PIL.Image.new()
, aby utworzyć obraz. Domyślny kolor to czarny. Aby całkowicie biały -background pusty obraz, można zainicjować za pomocą kodu:
from PIL import Image
img = Image.new('RGB', (800,1280), (255, 255, 255))
img.save("image.png", "PNG")
To tworzy obraz o rozmiarze 800x1280 z białym tłem.
Którą bibliotekę? PIL? OpenCV? – Antimony
@Antimony, domyślam się 'PIL' z tagów –