tiledpalettequantcli
v1.0.2
Published
A nodejs cli version of https://github.com/rilden/tiledpalettequant (https://rilden.github.io/tiledpalettequant/) allowing for conversion of images to quantized bitmap files, with optional dithering
Downloads
4
Readme
TiledPaletteQuantCLI
A NodeJS command line interface port of rilden's fantastic tile palette quantization / dithering tool https://rilden.github.io/tiledpalettequant/ (https://github.com/rilden/tiledpalettequant)/
An additional feature added is the ability to vertically split the quantized image. This can be used to quantize multiple images using a shared set of palettes.
Note that this has only been tested in WSL so your milage may vary running on other platforms (anything with a terminal that can run NodeJS should work though).
Installation
With a recent version of NodeJS installed, run one of the following:
npm install tiledpalettequantcli
npx tiledpalettequantcli
npm install tiledpalettequantcli -g
(to install globally)
Usage
In the terminal, run npx tiledpalettequantcli [Options]
or tiledpalettequantcli [Options]
(depending if you installed locally or globally)
Options: | | | | |---|---|---| | -f | --file [f] | Input file to quantize (can also accept images from stdin if this option not included) | | -v | --vsplit [v] | Split resulting file into vertical chunks of [v] pixels each | | -o | --output [prefix] | Output name prefix (default is the current directory name) | | -si | --startIndex [si] | Start index for output names (default is no suffix if not needed, 0 if using --vsplit) | | -tw | --tileWidth [width] | Tile width px (default: 8) | | -th | --tileHeight [height] | Tile height px (default: 8) | | -p | --palettes [p] | Number of palettes (default: 1) | | -cpp | --colorsPerPalette [cpp] | Colors per palette (default: 16) | | -bpc | --bitsPerChannel [bpc] | Bits per channel (default: 5) | | -fp | --fractionOfPixels [fp] | Fraction of Pixels (default: 0.1) | | -czb | --colorZeroBehaviour [czb] | Color index zero behaviour (choices: "Unique", "Shared", "TransparentFromTransparent", "TransparentFromColor", default: "TransparentFromColor") | | -cz | --colorZero [cz] | Color index Zero (hex formated: #RRGGBB) (default: "#000000") | | -d | --ditherMethod [d] | Dithering Method (choices: "Off", "Fast", "Slow", default: "Off") | | -dw | --ditherWeight [dw] | Dither weight (default: 0.3) | | -dp | --ditherPattern [dp] | Dithering Pattern (choices: "Diagonal4", "Diagonal2", "Horizontal2", "Horizontal4", "Vertical2", "Vertical4", default: "Diagonal4") | | -h | --help | display help for command |
Examples
npx tiledpalettequantcli -f test.png
cat test.png | npx tiledpalettequantcli
npx tiledpalettequantcli -f example.png --ditherMethod Fast --ditherPattern Horizontal2
Using an external tool to resize and quantize multiple source images at once:
magick *.jpg -background 'rgba(0,0,0,0)' -resize '240' -gravity Center -extent 256x256 -append png:- | npx tiledpalettequantcli -output sharedPaletteExample -vsplit 256 -d Slow -p 5