>>> Continued from previous message
03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01
02 78 00 00 09 1E 00 01
This bitmap would expand as follows (two-digit values represent a color
index for a single pixel):
04 04 04
06 06 06 06 06
45 56 67
78 78
move current position 5 right and 1 down
78 78
end of line
1E 1E 1E 1E 1E 1E 1E 1E 1E
end of RLE bitmap
BI_RLE4
When the biCompression member is set to BI_RLE4, the bitmap is
compressed using a run-length encoding (RLE) format for a 4-bit bitmap,
which also uses encoded and absolute modes. In encoded mode, the first
byte of the pair contains the number of pixels to be drawn using the
color indexes in the second byte. The second byte contains two color
indexes, one in its high-order nibble (that is, its low-order four bits)
and one in its low-order nibble. The first of the pixels is drawn using
the color specified by the high-order nibble, the second is drawn using
the color in the low-order nibble, the third is drawn with the color in
the high-order nibble, and so on, until all the pixels specified by the
first byte have been drawn.
In absolute mode, the first byte contains zero, the second byte contains
the number of color indexes that follow, and subsequent bytes contain
color indexes in their high- and low-order nibbles, one color index for
each pixel. In absolute mode, each run must be aligned on a word
boundary. The end-of-line, end-of-bitmap, and delta escapes also apply
to BI_RLE4. The following example shows the hexadecimal values of a
4-bit compressed bitmap:
03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01
04 78 00 00 09 1E 00 01
This bitmap would expand as follows (single-digit values represent a
color index for a single pixel):
0 4 0
0 6 0 6 0
4 5 5 6 6 7
7 8 7 8
move current position 5 right and 1 down
7 8 7 8
end of line
1 E 1 E 1 E 1 E 1
end of RLE bitmap
* SLMR 2.1a * We all live in a yellow subroutine.
--- FMail 0.92
---------------
* Origin: The Programmer's Oasis on FIDONET! (1:348/203)
|