画像を横にマージする(水平)


98

600x30、600x30、600x30、600x30、810x30の5つのサイズの画像があります。それらの名前は、それぞれ0.png、1.png、2.png、3.png、4.pngです。

ImageMagickで3210x30のサイズの画像を作成するために、それらを水平にマージするにはどうすればよいですか?

回答:


117

ImageMagickにはmontageユーティリティが付属しています。モンタージュは各画像を並べて追加し、各画像の間隔(-geometry)と一般的なレイアウト(-tile)を調整できるようにします。

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

その他の例は、モンタージュの使用法のページにあります


1
モンタージュのドキュメントでは、[0-5]構文はLinux向けであると指定されているため、Windowsを使用している場合は、すべてのファイル名を入力または生成する必要があります。ie montage 0.png 1.png 2.png 3.png 4.png ...
Dan

3
あなたは最高です!私はこれを私の人生全体で検索しました!
ロビン

@RodrigoGraça 透明度と背景の処理に関する使用法と例のガイドをご覧ください。
emcconville 2016

jpgとpngの組み合わせでも機能します。感謝
joydeep bhattacharjee

3
[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ます。
R.バレット

79

ImageMagickには、 ' convert ' という名前のコマンドラインツールがあり、画像を水平方向にマージしたり、その他の目的で使用したりします。私はこのコマンドを試し、あなたのケースで完全に機能しました:
画像を水平に結合するには:
convert +append *.png out.png

画像を縦にスタックするには:
convert -append *.png out.png


それは、(元縦=アップ町参加すること。)このフォームでThunarではカスタムアクションを追加することができますconvert -append %F joined-image.png。選択したすべての画像がアルファベット順に1つのpngとして結合されます

1
ImageMagickのを使用している場合7+あなたは、パラメータの前に、あなたが上で作業している画像を配置する必要があります:convert *.png +append out.png
Mazuhl

7

ImageMagick(brew install imagemagick)で非常にシンプル

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

0

MiniMagickrails 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隙間なく画像を配置します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.