Verwenden Sie Python für die Zusammenführung von DIB-Bildern
Erstellen Sie Python-Apps, um DIB-Bilder und Fotos über Server-APIs zusammenzuführen
So führen Sie DIB-Bilder und Fotos mit Python zusammen
Mit der Collage-Technik können Sie aus einer Sammlung bereits vorhandener Bilder und Fotos eine fesselnde Komposition erstellen. Die Python-Bibliothek bietet die Funktionalität, Bilder und Fotos nahtlos zusammenzuführen, unabhängig von Variationen in ihren Quelldateiformaten. Eine wirksame Strategie zur Hervorhebung Ihres Portfolios besteht darin, Tapetenornamente mit wiederkehrenden Bildern oder Mustern zu verwenden, die sowohl horizontale als auch vertikale Anordnungen ermöglichen. Wenn Ihr Ziel darin besteht, das Ergebnis der Dateiverarbeitung zu präsentieren, ist das nahtlose Zusammenführen zweier Bilder – vor und nach der Anwendung des Bildeffekts – eine unkomplizierte Aufgabe. Zum Zusammenführen von DIB-Bildern verwenden wir Aspose.Imaging for Python via .NET API, eine funktionsreiche, leistungsstarke und benutzerfreundliche Bildbearbeitungs- und Konvertierungs-API für die Python-Plattform. Sie können es mit dem folgenden Befehl aus Ihrem Systembefehl installieren.
Die Systembefehlszeile
>> pip install aspose-imaging-python-net
Schritte zum Zusammenführen von DIBs über Python
Sie benötigen aspose-imaging-python-net , um den folgenden Workflow in Ihrer eigenen Umgebung auszuprobieren.
- Laden Sie DIB-Dateien mit der Image.Load-Methode
- Kombinieren von Bildern zu neuen
- Speichern Sie das zusammengeführte Bild im von Aspose.Imaging unterstützten Format auf Disc
System Anforderungen
Aspose.Imaging für Python wird auf allen wichtigen Betriebssystemen unterstützt. Stellen Sie einfach sicher, dass Sie die folgenden Voraussetzungen erfüllen.
- Microsoft Windows / Linux mit .NET Core Runtime.
- Python- und PyPi-Paketmanager.
DIB-Bilder zusammenführen - 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 |
Über Aspose.Imaging für die Python-API
Aspose.Imaging API ist eine Bildverarbeitungslösung zum Erstellen, Ändern, Zeichnen oder Konvertieren von Bildern (Fotos) in Anwendungen. Es bietet: plattformübergreifende Bildverarbeitung, einschließlich, aber nicht beschränkt auf Konvertierungen zwischen verschiedenen Bildformaten (einschließlich einheitlicher Mehrseiten- oder Multiframe-Bildverarbeitung), Modifikationen wie Zeichnen, Arbeiten mit grafischen Grundelementen, Transformationen (Größe ändern, Zuschneiden, Spiegeln und Drehen , Binarisierung, Graustufen, Anpassen), erweiterte Bildbearbeitungsfunktionen (Filtern, Dithering, Maskieren, Entzerren) und Strategien zur Speicheroptimierung. Es ist eine eigenständige Bibliothek und hängt von keiner Software für Bildoperationen ab. Mit nativen APIs können innerhalb von Projekten problemlos hochleistungsfähige Bildkonvertierungsfunktionen hinzugefügt werden. Dies sind 100 % private lokale APIs und Bilder werden auf Ihren Servern verarbeitet.Führen Sie DIBs über die Online-App zusammen
Führen Sie DIB-Dokumente zusammen, indem Sie unsere [Live-Demo-Website] ( https://products.aspose.app/imaging/image-merge ) besuchen. Die Live-Demo hat die folgenden Vorteile
DIB Was ist DIB Datei Format
Eine DIB-Datei (Device Independent Bitmap) ist eine Rasterbilddatei, die in ihrer Struktur den standardmäßigen Bitmap-Dateien (BMP) ähnelt, jedoch einen anderen Header hat. Es kann mit fast allen Anwendungen geöffnet werden, die eine Standard-BMP-Datei sowohl unter Windows als auch unter macOS öffnen können. DIB sind Binärdateien und haben ein komplexes Dateiformat ähnlich wie BMP.
WesenAndere unterstützte Zusammenführungsformate
Mit Python kann man verschiedene Formate leicht zusammenführen, einschließlich.