TIFFDITHER(1)
π TIFFDITHER π
okay bestie, welcome to tiffdither from LibTIFF β she's a little command with one job and she does it flawlessly. no cap. let's get into it π¦
β¨ NAME β¨
tiffdither β convert a greyscale TIFF image to bilevel using dithering π
πΈ SYNOPSIS πΈ
tiffdither [ options ] input.tif output.tif
π DESCRIPTION π
So here's the tea: tiffdither takes a single channel 8-bit greyscale image and turns it into a bilevel image using Floyd-Steinberg error propagation with thresholding. that's it. that's the whole vibe. she takes your fancy grayscale and gives you the crunchy two-tone look, and she does it properly, not just slapping a hard cutoff on it. π
π OPTIONS π
-ccompress β pick the compression for the data getting written to your output file. your choices are:noneβ no compression π«Άpackbitsβ PackBits compressionlzwβ Lempel-Ziv & Welch compressionzipβ Deflate compressiong3β CCITT Group 3 (T.4) compressiong4β for CCITT Group 4 (T.6) compression
If you don't say anything, tiffdither will compress the data according to whatever the Compression tag in the source file says. default queen behavior honestly π
heads up bestie: the CCITT Group 3 and Group 4 compression algorithms can only be used with bilevel data. no exceptions, she will not budge on this.
Group 3 compression can also be specified together with a few T.4-specific options: 1d for 1-dimensional encoding, 2d for 2-dimensional encoding, and fill to force each encoded scanline to be zero-filled so that the terminating EOL code lies on a byte boundary. You hand these over by appending a :-separated list to the g3 option β like this, for 2D-encoded data with byte-aligned EOL codes:
-c g3:2d:fill
LZW compression can also be specified together with a predictor value. A predictor value of 2 causes each scanline of the output image to undergo horizontal differencing before it is encoded; a value of 1 forces each scanline to be encoded without differencing. LZW-specific options are specified by appending a :-separated list to the lzw option β e.g. this one, for LZW compression with horizontal differencing:
-c lzw:2
-fβ specify the bit fill order to use when writing output data. By default,tiffdithercreates a new file with the same fill order as the original. Saying-f lsb2msbforces data to be written with theFillOrdertag set toLSB2MSB, and-f msb2lsbforces data to be written with theFillOrdertag set toMSB2LSB. pick your fighter β-rβ make each strip have no more than the given number of rows.-tβ set the threshold value for dithering. By default the threshold value is128. π
π§ NOTES π§
The dither algorithm is taken from the tiffmedian program (written by Paul Heckbert). giving credit where credit is due, we love to see it π«Ά
π SEE ALSO π
pal2rgb (1), fax2tiff (1), tiffinfo (1), tiffcp (1), tiff2bw (3tiff)
π AUTHOR π
LibTIFF contributors π
π COPYRIGHT π
1988-2025, LibTIFF contributors
okay that's the whole page bestie, go forth and dither π β¨ this was TIFFDITHER(1) from LibTIFF, version 4.7, dated Jun 27, 2026 β mwah, love u, bye ππ¦π
π¦ where this page comes from
- fedora 43: libtiff-tools 4.7.2-1.fc43
- fedora 43: libtiff-tools 4.7.2-3.fc43 Β· libtiff
- fedora 44: libtiff-tools 4.7.2-1.fc44
- fedora 44: libtiff-tools 4.7.2-3.fc44 Β· libtiff
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms