Foto's samenvoegen in Python

Deze gids behandelt de details om photos in Python samen te voegen. Het legt de omgevingsinstellingen, de stapsgewijze programmastroom en een werkende voorbeeldcode uit om een foto-joiner in Python te maken. Bovendien zijn er geen extra beeldverwerkingstoepassingen nodig om deze functie in uw programma’s te integreren.

Stappen om foto’s samen te voegen in Python

  1. Bereid het systeem voor door Aspose.Imaging for Python te configureren om foto’s samen te voegen
  2. Maak een lijst met bronafbeeldingen en bereken de afmetingen voor de samengevoegde afbeelding
  3. Combineer de geladen afbeeldingen en definieer een uitvoerbron
  4. Aangepaste eigenschappen van de klasse JpegOptions instellen
  5. Exporteer de samengevoegde uitvoerafbeelding met het JpegImage-klasseobject

De bovenstaande stappen vatten het proces samen om foto’s te combineren in Python. Eerst moet u verschillende afbeeldingen opsommen om samen te voegen tot één afbeelding. Bereken vervolgens de nieuwe afbeeldingsdimensie en -inhoud voordat u de uitvoerafbeelding rendert terwijl u deze exporteert naar de schijf of een stream op basis van uw applicatieontwerp.

Code om een beeldcombinator in Python te maken

import aspose.imaging
import aspose.pycore as aspycore
from aspose.imaging import Image, Rectangle, RasterImage
from aspose.imaging.imageoptions import JpegOptions
from aspose.imaging.sources import StreamSource
from aspose.imaging.fileformats.jpeg import JpegImage
from aspose.imaging.extensions import StreamExtensions
import os
import functools
data_dir = "C://SampleFiles//"
license = aspose.imaging.License()
license.set_license(data_dir + "License.lic")
delete_output = 'SAVE_OUTPUT' not in os.environ
#data_dir = templates_folder
image_paths = [os.path.join(data_dir, "grayscaled.jpg"), os.path.join(data_dir, "grayscaled.jpg")]
output_path = os.path.join(data_dir, "mergedresult.jpg")
temp_file_path = os.path.join(data_dir, "tempmerge.jpg")
# Getting resulting image size.
image_sizes = []
for image_path in image_paths:
with Image.load(image_path) as image:
image_sizes.append(image.size)
new_width = 0
new_height = 0
for size in image_sizes:
new_height += size.height
new_width = max(new_width, size.width)
# Combining images into new one.
with StreamExtensions.create_memory_stream() as memory_stream:
output_stream_source = StreamSource(memory_stream)
with JpegOptions() as options:
options.source = output_stream_source
options.quality = 100
with aspycore.as_of(Image.create(options, new_width, new_height), JpegImage) as new_image:
stitched_height = 0
for image_path in image_paths:
with aspycore.as_of(Image.load(image_path), RasterImage) as image:
bounds = Rectangle(0, stitched_height, image.width, image.height)
new_image.save_argb_32_pixels(bounds, image.load_argb_32_pixels(image.bounds))
stitched_height += image.height
new_image.save(output_path)

Dit codefragment is voldoende om een basis image combiner in Python te maken. Het werkt met verschillende methoden die worden blootgesteld door de JpegImage-klasse om de uitvoerfoto te genereren en de afmetingen van de invoerafbeeldingen te lezen. Vervolgens definieert het een rechthoek en rendert de gegenereerde foto door de Save-methode aan te roepen. Bovendien kunt u de gegenereerde afbeelding aanpassen op basis van uw behoeften door de schaalfactor, het RGB-kleurprofiel, de sample-afrondingsmodus, enz. in te stellen.

In dit artikel heb je image merge in Python geleerd. Als je image cropping wilt leren, raadpleeg dan het artikel op afbeelding bijsnijden in Python.

 Nederlands