Row 3 | 00001111 | 11111111 11110000 | 10101010 | 10101010 |
?*r1A – The start raster graphics command initializes the seed row to all zeros.
Row 1 – ?*b3m2W(00000001)(11111111)
The 3m selects the delta row compression method and the 2W indicates 2 bytes of data to follow. The first three bits of the first data byte, the command byte, signify a single byte replacement (all three bits are 0). The next five bits indicate an offset of 1 byte from the current position. The replacement byte follows and contains 11111111.
Row 2 – ?*b2W(00000010)(11110000)
The first three bits of the command byte indicate that one byte will be replaced, and the next five bits indicate a relative offset of 2, so the replacement will occur 2 bytes from the current position. The replacement byte follows and contains 11110000.
Row 3 – ?*b5W(00000000)(00001111)(00100010) (10101010)(10101010)
As in the other rows, the first three bits of the command byte are zero, indicating a single byte replacement. The five offset bytes indicate a relative offset of zero bytes. The replacement byte follows and is 00001111. The third byte is another command byte and the first three bits signify the replacement of two bytes (the top three bits are 001). The offset bits indicate an offset of two bytes from the current position. The fourth and fifth bytes are the two replacement bytes.
Adaptive Compression (Method 5)
Adaptive compression enables the combined use of any of the four previous compression methods (0 through 3), and it includes the ability to print empty (all zeros) rows or to duplicate rows.
Adaptive compression interprets a raster image as a block of raster data rather than as individual rows. The result of this interpretation is that the Transfer Raster Data (?*b#W) command is sent only once at the beginning of a raster data transfer, and the value field (#) identifies the number of bytes in the block of rows. For the other compression methods, the Transfer Raster Data command is sent at the beginning of each row and the value field (#) identifies the number of bytes for that row only.
EN |