Объединение фотографий в Python

В этом руководстве описываются детали merge photos в Python. В нем объясняются настройки среды, пошаговый поток программы и рабочий пример кода для создания photo joiner в Python. Более того, для встраивания этой функции в ваши программы не требуются дополнительные приложения для обработки изображений.

Шаги по объединению фотографий в Python

  1. Подготовьте систему, настроив Aspose.Imaging for Python для объединения фотографий
  2. Составьте список исходных изображений и рассчитайте размеры объединенного изображения.
  3. Объедините загруженные изображения и определите источник вывода.
  4. Установить пользовательские свойства класса JpegOptions
  5. Экспортируйте выходное объединенное изображение с объектом класса JpegImage

Вышеуказанные шаги суммируют процесс объединения фотографий в Python. Сначала вам нужно составить список различных изображений для объединения в одно изображение. Затем вычислите новый размер изображения и его содержимое перед рендерингом выходного изображения при экспорте его на диск или в поток в зависимости от дизайна вашего приложения.

Код для создания Image Combiner на Python

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)

Этот фрагмент кода достаточен для создания базового объединителя изображений в Python. Он работает с различными методами, предоставляемыми классом JpegImage, для генерации выходной фотографии и считывания размеров входных изображений. Затем он определяет прямоугольник и визуализирует сгенерированную фотографию, вызывая метод Save. Кроме того, вы можете настроить сгенерированное изображение в соответствии со своими потребностями, установив масштабный коэффициент, цветовой профиль RGB, режим округления выборки и т. д.

В этой статье вы узнали слияние изображений в Python. Если вы хотите узнать об обрезке изображений, обратитесь к статье на обрезать изображение в Python.

 Русский