Fusionner les images côte à côte (horizontalement)

J’ai cinq images de tailles: 600×30, 600×30, 600×30, 600×30, 810×30. Leurs noms sont: 0.png, 1.png, 2.png, 3.png, 4.png, respectivement.

Comment les fusionner horizontalement pour créer une image de taille 3210×30 avec ImageMagick?

ImageMagick est livré avec l’utilitaire de assembly . Montage appenda chaque image côte à côte vous permettant d’ajuster l’espacement entre chaque image ( -geometry ) et la disposition générale ( -tile ).

 assembly [0-5].png -tile 5x1 -geometry +0+0 out.png 

Vous trouverez d’autres exemples sur la page Utilisation du assembly

ImageMagick a un outil de ligne de commande nommé « convertir » pour fusionner les images horizontalement ou à d’autres fins. J’ai essayé cette commande et fonctionne parfaitement sur votre cas:
Pour joindre des images horizontalement:
convert +append *.png out.png

Pour emstackr des images verticalement:
convert -append *.png out.png

Très simple avec ImageMagick ( brew install imagemagick )

 convert +append image_1.png image_2.png new_image_conbined.png 

Toute personne utilisant les MiniMagick rails peut utiliser l’outil intégré pour fusionner des images:

 # Replace this with the path to the images you want to combine images = [ "image1.jpg", "image2.jpg" ] processed_image = MiniMagick::Tool::Montage.new do |image| image.geometry "x700+0+0" image.tile "#{images.size}x1" images.each {|i| image << i} image << "output.jpg" end 

Consultez la documentation des options #geometry pour gérer le redimensionnement et le placement. L'exemple actuel redimensionne les images à une hauteur de 700px tout en conservant les proportions de l'image. +0+0 placera l'image sans espace entre eux.