To join images horizontally (in alphabetical order):
convert +append *.png out.png
To stack images vertically:
convert -append *.png out.png
That should be run in a terminal into the folder containing png files to join them all.
https://askubuntu.com/questions/226054/how-do-i-join-two-images-in-ubuntu
A gui for that would be:
a file manager context menu to join selected images.
An easy way when it comes to that is Thunar’s custom actions:
To join selected images vertically (into one png file, in alphabetical order, no matter their extension) add this custom action (‘Edit – Configure custom actions’):
convert -append %F joined-vertical.png
To join horizontally:
convert +append %F joined-horizontal.png
The same commands can be used in a .desktop file in /.local/share/file-manager/actions which adds a context menu for Nautilus and/or PCManFM.
Example for vertical join:
[Desktop Entry]
Type=Action
Name=Join images (vertically)
Profiles=profile-zero;
TargetLocation=true
Icon=gthumb
[X-Action-Profile profile-zero]
Basenames=image/*;*;
Exec=convert -append %F joined-image.png
Name[en_US]=Default profile
Name[en]=Default profile
Name[C]=Default profile
=============
Or We can easily join, i.e. “montage” images into one large image with the following command
montage -geometry 500 image1 image2 [...] output
See the project page for many parameters of the geometry option. In the example above all images will be scaled to a width of 500 pixels before they are joined. Adapt this value for your image sizes. In case you need to have a fixed height choose x500 instead. The other dimension will be scaled to preserve the aspect ratio.
https://askubuntu.com/questions/166751/merging-two-pictures