両方のサイズが同じ場合は convert で。2 枚の画像を左右に連結する場合は下のようにする。指定する順番は左画像、右画像、出力画像の順番。
$ convert +append hoge_19.png hoge_20.png hoge_19-20.png
上下に連結する場合は下のようにする。2 枚の画像を指定する順番は上画像、下画像、出力画像の順番。
$ convert -append hoge_19.png hoge_20.png hoge_19-20.png
それぞれの画像に個別に適当な処理を行った上で最終的に連結処理をしたい。中間ファイルを作るのも 1 つの方法だが、Image Stack を使ってみる。例えば、hoge_01.jpg を 50% に縮小、hoge_02.jpg を 25% に縮小、これらを上下に連結することを考える。-geometry は "Image Setting" で -append は "Image Sequence Operator" なので以下のように書ける。出力された hoge_.jpg の横幅は 1632/2=816 と 1632/4=408 の長いほうになり、縦幅は 1224/2+1224/4=918 になっていることが確認できる。
$ convert -verbose \( -geometry 50% hoge_01.jpg \) \( -geometry 25% hoge_02.jpg \) -append hoge_.jpg hoge_01.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 307KB 0.280u 0:00.290 hoge_02.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 500KB 0.310u 0:00.320 hoge_01.jpg=>hoge_.jpg JPEG 1632x1224=>816x918 816x918+0+0 8-bit DirectClass 115KB 0.240u 0:00.250
"Image Stack" は入れ子状に使うことができる。以下のように書くことで、hoge_00.jpg と hoge_01.jpg を上下に連結したものと、hoge_02.jpg と hoge_03.jpg を上下に連結したものを、左右に連結することができる。
$ convert -verbose \ \( \( -geometry 50% hoge_00.jpg \) \( -geometry 25% hoge_01.jpg \) -append \) \ \( \( -geometry 50% hoge_02.jpg \) \( -geometry 25% hoge_03.jpg \) -append \) \ +append hoge_.jpg hoge_00.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 293KB 0.280u 0:00.289 hoge_01.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 307KB 0.290u 0:00.289 hoge_02.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 500KB 0.300u 0:00.300 hoge_03.jpg JPEG 3264x2448 3264x2448+0+0 8-bit DirectClass 1.6MB 1.250u 0:01.329 hoge_00.jpg=>hoge_.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 381KB 0.650u 0:00.690
一般に 2 枚以上の画像をタイリングするには monterge を使うらしい。