Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kombiniere ich mehrere Bilder horizontal in Python, ohne dass es zu Überlappungsproblemen kommt?

Wie kombiniere ich mehrere Bilder horizontal in Python, ohne dass es zu Überlappungsproblemen kommt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 08:23:02352Durchsuche

How to Combine Multiple Images Horizontally in Python Without Overlapping Issues?

Bilder horizontal in Python kombinieren

Dieser Artikel befasst sich mit dem Problem der horizontalen Kombination mehrerer JPEG-Bilder in Python.

Problem:

Der Benutzer hat drei Bilder gleicher Größe (148 x 95) und versucht, sie mithilfe des bereitgestellten Codes horizontal zu kombinieren. Die Ausgabe enthält jedoch zusätzliche Teilbilder, die vorherige Unterbilder überlappen.

Lösung:

Um dieses Problem zu beheben, können wir den folgenden geänderten Code verwenden:

<code class="python">import sys
from PIL import Image

images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]
widths, heights = zip(*(i.size for i in images))

total_width = sum(widths)
max_height = max(heights)

new_im = Image.new('RGB', (total_width, max_height))

x_offset = 0
for im in images:
    new_im.paste(im, (x_offset, 0))
    x_offset += im.size[0]

new_im.save('combined_horizontally.jpg')</code>

Dieser Code bewirkt Folgendes:

  • Öffnet die Eingabebilder und bestimmt deren Breite und Höhe.
  • Berechnet die Gesamtbreite und maximale Höhe des kombinierten Bildes.
  • Erstellt ein neues Bild mit den berechneten Abmessungen.
  • Fügt jedes Eingabebild horizontal mit einem entsprechenden Versatz in das neue Bild ein.
  • Speichert das kombinierte Bild als „combined_horizontally.jpg“.

Zusätzliche Überlegungen:

  • Der Code bestimmt dynamisch die Bildabmessungen und ermöglicht so die Verarbeitung von Bildern unterschiedlicher Größe.
  • Es gibt die Abmessungen in einer einzigen Zeile an und erleichtert so die Anpassung bei Bedarf.
  • Durch die Verwendung der Max-Funktion zur Bestimmung der maximalen Höhe passt das kombinierte Bild zu allen Eingabebildern, auch wenn diese unterschiedliche Höhen haben.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere Bilder horizontal in Python, ohne dass es zu Überlappungsproblemen kommt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn