Comment combiner plusieurs images horizontalement en Python sans problèmes de chevauchement ?

Mary-Kate Olsen
Libérer: 2024-10-25 08:23:02
original
369 Les gens l'ont consulté

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

Combinaison d'images horizontalement en Python

Cet article aborde le problème de la combinaison horizontale de plusieurs images JPEG en Python.

Problème :

L'utilisateur dispose de trois images de dimensions égales (148 x 95) et tente de les combiner horizontalement à l'aide du code fourni. Cependant, la sortie comporte des images partielles supplémentaires chevauchant les sous-images précédentes.

Solution :

Pour résoudre ce problème, nous pouvons utiliser le code modifié suivant :

<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>
Copier après la connexion

Ce code accomplit les tâches suivantes :

  • Ouvre les images d'entrée et détermine leurs largeurs et hauteurs.
  • Calcule la largeur totale et la hauteur maximale de l'image combinée.
  • Crée une nouvelle image avec les dimensions calculées.
  • Colle chaque image d'entrée horizontalement dans la nouvelle image avec un décalage approprié.
  • Enregistre l'image combinée sous combiné_horizontally.jpg.

Considérations supplémentaires :

  • Le code détermine dynamiquement les dimensions de l'image, lui permettant de gérer des images de différentes tailles.
  • Il spécifie les dimensions sur une seule ligne, ce qui facilite les ajustements si nécessaire.
  • En utilisant la fonction max pour déterminer la hauteur maximale, l'image combinée s'adaptera à toutes les images d'entrée, même si elles ont des hauteurs différentes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!