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

Mary-Kate Olsen
Freigeben: 2024-10-25 08:23:02
Original
369 Leute haben es durchsucht

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!