ImageUtil

A command-line image processing tool with multiple filters. These are mainly for pixel-editing, fixing color palettes, and such, and not generally “user-friendly”, but developer-friendly.

% java -jar ImageUtil.jar --help
Unknown option '--help'
ImageUtil Copyright © 2021 by Mark Damon Hughes. All Rights Reserved.
`https://mdhughes.tech/tools/imageutil/`
Usage: ImageUtil [OPTION]... [INFILE [OUTFILE]]
  INFILE: Filename of source image, if missing then default 256x256,
                             OUTFILE must be specified with --out.
  OPTIONS:
--in INFILE                  Set input filename.
--out OUTFILE                Set output filename.
--verbose                    Show verbose output
--autocrop                   Resize image to first non-transparent rows/cols
--clip X Y WIDTH HEIGHT      Clips a sub-image from the image
--debug                      Print to stdout all pixels as hex values
--mask                       Write INFILE.mask with "{x,y}" on first line,
                             then y lines of x chars: '.' or 'X' for alpha 0.5+
--negative IN OUT            Replace all colors #AARRGGBB except IN with OUT
--outline COLOR              Outlines all non-transparent pixels with COLOR
--pad DIR WIDTH HEIGHT       Pads image to new canvas size width * height,
                             DIR=n,ne,e,se,s,sw,w,nw,c
--recolor IN OUT             Replace all colors #AARRGGBB IN with OUT
--resize WIDTH HEIGHT        Resize image to width * height
--rotate N                   Rotate image N° clockwise
--transfer SFILE SX SY SW SH DX DY DW DH
                             Transfer a sprite S into canvas at D

% # Example: change a cyan-background bitmap sprite into transparent png & pad it to 96x96
% java -jar ImageUtil.jar bossa1.bmp bossa1.png --recolor "#ff002f2f" "#00000000" --pad c 96 96