Convert a PPM to an LSS16 image
...] [< input.ppm] [> output.rle]
add an example, a script, a trick and tips
pnmtoplainpnm | \
ppmtolss16 \#000000=0 \#ffffff=7 > logo.lss 2>/dev/null
echo " done"
page documents briefly the ppmtolss16 command.
ppmtolss16 program converts a "raw" PPM
file with max 16 colors to a simple RLE-based format:
Color map is in
6-bit format (each byte is 0..63)
sequence of nybbles:
N ... if N is
!= previous pixel, one pixel of color N, otherwise run
sequence follows ...
M ... if M >
0 then run length is M+1, otherwise run sequence is encoded
in two nybbles, littleendian, +17
sequences are on a per-row basis, runs may not extend across
rows and odd-nybble rows are zero-padded.
At the start of
a row, the "previous pixel" is assumed to be
A summary of
options is included below.
Specify that the color #rrggbb (hex) should be assigned
index i (decimal).
This program cannot handle comments in the header, nor "plain"
page was compiled by dann frazier <dannf[:at:]debian[:dot:]org>
for the Debian GNU/Linux system (but may be used by
others). Most of the content was written by H. Peter