Markavian / tile-merger

A tile merger, for merging multiple images into a single image. Written in C# for the .NET framework for Windows operating systems.
16 stars 4 forks source link

Tile Merger

The tile merger is a GUI or CLI application that takes a folder full of image files and mergers them into a single tiled image. Use the columns field to set the number of tiles per row. The image size is automatically calculated based on the source images. Images are sorted by their filename. I suggest using a numeric prefix naming scheme such as "001 tree.png", "002 table.png", "003 chair.png" etc. in order to predictably position images.

Latest Release

Download TileMerger_1.1.0.zip (39Kb)

Installation

How to use

image

Command Line Mode

New as of version 1.0.0 (July 2023), you can use TilerMerger from the command line.

>TileMerger.exe --help
Tile Merger 1.0
Supported arguments:

--src="https://github.com/Markavian/tile-merger/raw/master/<path>"          Source folder to find files in
--imgs="f1.png,f2.png"  Comma separated list of files, overrides src, will still be filtered
--dest="<path>"         Destination file path to output to, defaults to ./TiledImages_x{cols}_{td|lr}.png
--filter="string"       Filter string, inclusive match
--cols=6                Number of columns before wrapping
--td=lr|tb              Tiling Direction
--help                  Show help and version info

Website: https://github.com/Markavian/tile-merger

Example Commands

Examples using a dev build from the ./c-sharp/ folder:

Merge all images containing the word banana across 1 columns, tiling top to bottom

TileMerger.exe --src="https://github.com/Markavian/tile-merger/raw/master/sample-images/" --dest="sample-outputs/bananas_1x5.png" --filter="banana" --cols="1" --td="tb"

bananas_1x5.png

Merge all images containing the word banana across 5 columns, tiling left to right

TileMerger.exe --src="https://github.com/Markavian/tile-merger/raw/master/sample-images/" --dest="sample-outputs/bananas_5x1.png" --filter="banana" --cols="5" --td="lr"

bananas_1x5.png

Merge all images containing the word melon (watermelon, and melon) across 2 columns, tiling top to bottom

TileMerger.exe --src="https://github.com/Markavian/tile-merger/raw/master/sample-images/" --dest="sample-outputs/melons_2x5.png" --filter="melon" --cols="2" --td="tb"

bananas_1x5.png

Merge all images containing the number 00003 across 3 columns, tiling left to right

TileMerger.exe --src="https://github.com/Markavian/tile-merger/raw/master/sample-images/" --dest="sample-outputs/mixed_3x3.png" --filter="00003" --cols="3" --td="lr"

bananas_1x5.png

Merge all images across 5 columns, tiling left to right

.\bin\Release\TileMerger.exe --src="https://github.com/Markavian/tile-merger/raw/master/sample-images/" --dest="sample-outputs/mixed_5x9.png" --cols="5" --td="lr"

bananas_1x5.png

Merge a list of four specific images across 2 columns

.\bin\Release\TileMerger.exe --imgs="./sample-images/banana_00002_.png,./sample-images/pear_00001_.png,./sample-images/plum_00001_.png,./sample-images/tomato_00001_.png" --dest="sample-outputs/mixed_2x2.png" --cols="2"

mixed_2x2.png

Version history

Release 1.0.0 (July 2023)

2023-07-10 Tile Merger preview 1 0 0

Tile Merger 1.0
Supported arguments:

--src="https://github.com/Markavian/tile-merger/raw/master/<path>"            Source folder to find files in; also used as base directory to find relative imgs
--imgs="f1.png,f2.png"    Comma separated list of files, works in tandem with src; file list will still be filtered
--dest="<path>"           Destination file path to output to, defaults to ./ TiledImages_x{ cols}_{ td | lr}.png
--filter="string"         Filter string, inclusive match
--cols=6                  Number of columns before wrapping
--td=lr|tb                Tiling Direction - left-right (lr) or (top-bottom) (tb)
--help                    Show help and version info

Release c1 (November 2008)

Release b1 (August 2008)

Release a1 (2008)

Credits

Written by John Beech

With contributions and thanks to XtheOne:

Used on:

Contact

Please create an issue or send feedback here on github!

Available at:

Older versions: