Используйте Python для объединения PNG изображений
Объединяйте PNG изображения и фотографии с использованием собственных Python приложений и серверных API
Как объединить PNG изображения используя библиотеку для Python
Техника коллажа поможет создать новую интересную работу из набора готовых изображений и фотографий. Возможности библиотеки для Python позволяют объединять фотографии и изображения, даже если их исходные файлы различаются по формату. Прекрасным способом привлечь внимание к вашему портфолио станет использование фотообоев с повторяющимися изображениями или узорами. Это соединение можно осуществлять как горизонтально, так и вертикально. Если ваша цель — продемонстрировать результат обработки файла, легко объединить два изображения: до и после применения фото-эффекта. Для объединения изображений PNG мы воспользуемся Aspose.Imaging for Python via .NET API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы Python. Вы можете установить его, используя следующую команду из вашей системной командной консоли:
Системная командная строка
>> pip install aspose-imaging-python-net
Действия по объединению PNG с помощью Python
Вам понадобится aspose-imaging-python-net , чтобы попробовать следующий рабочий процесс в вашей собственной среде.
- загрузите файлы PNG с помощью метода Image.Load;
- объедините изображения в новый файл;
- сохраните объединенное изображение на диск в поддерживаемом Aspose.Imaging формате.
Системные Требования
Aspose.Imaging для Python поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:
- Microsoft Windows/Linux с .NET Core Runtime.
- Менеджер пакетов Python и PyPi.
Объединить PNG изображения - Python
from aspose.imaging import Image, Graphics, Color, Rectangle | |
from aspose.imaging.fileformats.png import PngColorType | |
from aspose.imaging.imageoptions import PngOptions | |
from aspose.imaging.sources import StreamSource | |
import os | |
import tempfile | |
if 'TEMPLATE_DIR' in os.environ: | |
templates_folder = os.environ['TEMPLATE_DIR'] | |
else: | |
templates_folder = r"C:\Users\USER\Downloads\templates" | |
delete_output = 'SAVE_OUTPUT' not in os.environ | |
data_dir = templates_folder | |
images = [] | |
files = ["template.png", "template.jpg"] | |
merge_direction = [0, 1] | |
max_width = 0 | |
max_height = 0 | |
total_width = 0 | |
total_height = 0 | |
for file_name in files: | |
image = Image.load(os.path.join(data_dir, file_name)) | |
total_width += image.width | |
if image.width > max_width: | |
max_width = image.width | |
total_height += image.height | |
if image.height > max_height: | |
max_height = image.height | |
images.append(image) | |
def get_temp_file_name(): | |
f = tempfile.NamedTemporaryFile() | |
file_name = f.name | |
f.close() | |
return file_name | |
def merge_images(direction): | |
target_width = 0 | |
target_height = 0 | |
if direction == 0: | |
target_width = total_width | |
target_height = max_height | |
else: | |
target_width = max_width | |
target_height = total_height | |
output_path = data_dir | |
output_path = os.path.join(output_path, "result" + str(direction) + ".png") | |
png_options = PngOptions() | |
png_options.color_type = PngColorType.TRUECOLOR_WITH_ALPHA | |
tmp_file = get_temp_file_name() | |
with open(tmp_file, "wb") as stream: | |
png_options.source = StreamSource(stream) | |
with Image.create(png_options, target_width, target_height) as image: | |
image.background_color = Color.white | |
graphics = Graphics(image) | |
x = 0 | |
y = 0 | |
graphics.begin_update() | |
for frame in images: | |
print("x", x, "y", y) | |
graphics.draw_image(frame, Rectangle(x, y, frame.width, frame.height)) | |
if direction == 0: | |
x += frame.width | |
if direction == 1: | |
y += frame.height | |
graphics.end_update() | |
image.save(output_path) | |
os.remove(tmp_file) | |
if delete_output: | |
os.remove(output_path) | |
# run | |
merge_images(0) | |
merge_images(1) | |
for image in images: | |
# to dispose the image we call __exit__() | |
with image as _: | |
pass |
Об Aspose.Imaging for Python API
Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.Объединить PNG через онлайн-приложение
Объедините файлы PNG, посетив наш веб-сайт Live Demos Online примеры имеют следующие преимущества
PNG Чем является PNG формат
PNG, переносимая сетевая графика, относится к типу формата файла растрового изображения, в котором используется сжатие без потерь. Этот формат файла был создан в качестве замены формата обмена графикой (GIF) и не имеет ограничений авторского права. Однако формат файла PNG не поддерживает анимацию. Формат файлов PNG поддерживает сжатие изображений без потерь, что делает его популярным среди пользователей. С течением времени PNG превратился в один из наиболее часто используемых форматов файлов изображений. Почти все операционные системы поддерживают открытие файлов PNG. Например, средство просмотра Microsoft Windows имеет возможность открывать файлы PNG, так как ОС по умолчанию имеет поддержку, доступную как часть установки.
Читать далееДругие поддерживаемые форматы слияния
Используя Python, можно легко объединять разные форматы изображений, в том числе: