Для начала давайте разберёмся с данными, которые у нас есть:
- У нас есть шестнадцатеричный код: F3F7 F3D7 F37F F1FF F3BF F3EF F3FB FFFF.
- Глубина кодирования равна 2, что означает, что каждый пиксель может принимать одно из четырёх значений: 00, 01, 10, 11.
- Мы работаем с чёрно-белым изображением, что предполагает, что два бита будут кодировать интенсивность пикселя.
Преобразуем шестнадцатеричный код в двоичный, чтобы понять, как представлено изображение:
F3F7 = 1111 0011 1111 0111
F3D7 = 1111 0011 1101 0111
F37F = 1111 0011 0111 1111
F1FF = 1111 0001 1111 1111
F3BF = 1111 0011 1011 1111
F3EF = 1111 0011 1110 1111
F3FB = 1111 0011 1111 1011
FFFF = 1111 1111 1111 1111
Теперь у нас есть двоичный код для каждого значения. Разобьём их на группы по 2 бита:
- F3F7 -> 1111 00 11 1111 01 11
- F3D7 -> 1111 00 11 1101 01 11
- F37F -> 1111 00 11 0111 11 11
- F1FF -> 1111 00 01 1111 11 11
- F3BF -> 1111 00 11 1011 11 11
- F3EF -> 1111 00 11 1110 11 11
- F3FB -> 1111 00 11 1111 10 11
- FFFF -> 1111 11 11 1111 11 11
Теперь мы можем преобразовать каждый из этих двоичных значений в пиксели. Предположим, что:
- 00 представляет собой чёрный (0%)
- 01 представляет собой тёмно-серый (33%)
- 10 представляет собой светло-серый (66%)
- 11 представляет собой белый (100%)
Давайте построим изображение, используя эти пиксели. Каждый шестнадцатеричный код представляет строку изображения, а каждые два бита представляют пиксель.
- 1111 00 11 1111 01 11 -> белый, чёрный, белый, белый, тёмно-серый, белый
- 1111 00 11 1101 01 11 -> белый, чёрный, белый, белый, тёмно-серый, белый
- 1111 00 11 0111 11 11 -> белый, чёрный, белый, светло-серый, белый, белый
- 1111 00 01 1111 11 11 -> белый, чёрный, тёмно-серый, белый, белый, белый
- 1111 00 11 1011 11 11 -> белый, чёрный, белый, тёмно-серый, белый, белый
- 1111 00 11 1110 11 11 -> белый, чёрный, белый, белый, светло-серый, белый
- 1111 00 11 1111 10 11 -> белый, чёрный, белый, белый, светло-серый, белый
- 1111 11 11 1111 11 11 -> белый, белый, белый, белый, белый, белый
Таким образом, можно построить изображение:
█ █ █ █ ░ █
█ █ █ █ ░ █
█ █ █ ▒ █ █
█ █ ░ █ █ █
█ █ █ ░ █ █
█ █ █ █ ▒ █
█ █ █ █ ▒ █
█ █ █ █ █ █
Где:
- █ представляет белый (11)
- ░ представляет тёмно-серый (01)
- ▒ представляет светло-серый (10)
- Пробел представляет чёрный (00)
Таким образом, мы получили изображение по заданному шестнадцатеричному коду.