回答:
ImageMagickにはmontage
ユーティリティが付属しています。モンタージュは各画像を並べて追加し、各画像の間隔(-geometry
)と一般的なレイアウト(-tile
)を調整できるようにします。
montage [0-5].png -tile 5x1 -geometry +0+0 out.png
その他の例は、モンタージュの使用法のページにあります
[0-5].png
「0.png、1.png、2.png、3.png、4.png、5.png」という6つの異なるファイルが生成されますtile 5x1
が、5つしか取得せず、2つの出力ファイルが残ります。これはまたはを使用する[0-4].png
必要があり-tile 6x1
ます。
ImageMagickには、 ' convert ' という名前のコマンドラインツールがあり、画像を水平方向にマージしたり、その他の目的で使用したりします。私はこのコマンドを試し、あなたのケースで完全に機能しました:
画像を水平に結合するには:
convert +append *.png out.png
画像を縦にスタックするには:
convert -append *.png out.png
convert -append %F joined-image.png
。選択したすべての画像がアルファベット順に1つのpngとして結合されます
convert *.png +append out.png
MiniMagick
rails gemを使用している人は誰でも、組み込みツールを使用して画像をマージできます。
# 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
サイズ変更と配置を処理するオプションについては、ドキュメントを#geometry
ご覧ください。現在の例では700px
、画像のアスペクト比を維持しながら、画像の高さを変更します。+0+0
隙間なく画像を配置します。