Добрый день!
Пожалуйста, посмотрите цитату. Я не понимаю, как получается результат. Я новичок, поэтому вопросы у меня соотвествующие (пишу эту оговорку пока в каждом сообщении). Сама картинка черно-белой матрицы не отображается, поэтмоу я ее воспроизвожу в RAW формате битов.
1) при ширине 17 пикселей, как получилось 16 байтов на каждую строку?
в одном пикселе 1 байт (8 битов), тогда 16 байтов
2) не поняла, как из 16 байтов получилось 2 байта. Я вижу
что есть сочетание только 2х цветов, на каждый видимо по 8 бит, да?
3) и совсем не поняла последний результат:
16 0
16 0
2 0 12 1 2 0
The following is a description of the simplest lossless
compression technique called run length encoding (RLE) that is
used with good effect for bitmaps with only a few colours.
Consider the following small, 17 x 10 pixel, 8 bit image.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If this was to be stored in RAW form it would need 16 bytes per
row for all 10 rows. However the first two rows are all the same
level so it is more efficient to simply save the number of same
colours in a run along with the run colour. The first two rows
instead of needing 16 bytes only need 2 bytes each.
In raw format the first three rows would be
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0
Using run length encoding the first three rows would be
16 0
16 0
2 0 12 1 2 0
Спасибо!