Ich habe fünf Bilder mit Größen: 600 x 30, 600 x 30, 600 x 30, 600 x 30, 810 x 30. Ihre Namen sind: 0.png, 1.png, 2.png, 3.png, 4.png.
Wie füge ich sie horizontal zusammen, um mit ImageMagick ein Bild der Größe 3210 x 30 zu erstellen?
Ich habe fünf Bilder mit Größen: 600 x 30, 600 x 30, 600 x 30, 600 x 30, 810 x 30. Ihre Namen sind: 0.png, 1.png, 2.png, 3.png, 4.png.
Wie füge ich sie horizontal zusammen, um mit ImageMagick ein Bild der Größe 3210 x 30 zu erstellen?
Antworten:
ImageMagick wird mit dem montage
Dienstprogramm geliefert. Bei der Montage wird jedes Bild nebeneinander angehängt, sodass Sie den Abstand zwischen jedem Bild ( -geometry
) und dem allgemeinen Layout ( -tile
) anpassen können .
montage [0-5].png -tile 5x1 -geometry +0+0 out.png
Weitere Beispiele finden Sie auf der Seite Montage Usage
[0-5].png
erzeugt "0.png, 1.png, 2.png, 3.png, 4.png, 5.png", sechs verschiedene Dateien, aber Sie tile 5x1
nehmen nur fünf davon, so dass Sie zwei Ausgabedateien haben. Dies sollte entweder [0-4].png
oder verwenden -tile 6x1
.
ImageMagick verfügt über ein Befehlszeilenprogramm mit dem Namen " Konvertieren ", mit dem Bilder horizontal oder für andere Zwecke zusammengeführt werden können. Ich habe diesen Befehl ausprobiert und arbeite perfekt an Ihrem Fall:
So verbinden Sie Bilder horizontal:
convert +append *.png out.png
So vertikal stapeln Sie Bilder:
convert -append *.png out.png
convert -append %F joined-image.png
. Alle ausgewählten Bilder werden als ein PNG in alphabetischer Reihenfolge verbunden
convert *.png +append out.png
Jeder, der das MiniMagick
Rails-Juwel verwendet, kann das integrierte Tool zum Zusammenführen von Bildern verwenden:
# 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
Überprüfen Sie die aus Dokumentation für #geometry
Optionen Griff Redimensionierung und Platzierung. Im aktuellen Beispiel wird die Größe von Bildern auf eine 700px
Höhe geändert, während das Seitenverhältnis des Bildes beibehalten wird. +0+0
platziert das Bild ohne Lücken zwischen ihnen.