Цитата:
Сообщение от AS21
палитра из 256 цветов, каждый цвет 8 байт, 3 последних из них это RGB
|
если 256 цветов, значит индексированная палитра, а в самой картинке каждый пиксель кодируется одним байтом.
т.е. если в нормальном 24-bit RGB используется 3 байта на пиксель, и каждый пиксель описан маской rrggbb, где каждый компонент цвета обретает значения от 0 до 255.
а здесь в единственном байте даётся ссылка на адрес (номер строки) 256-строчной таблицы с палитрой, в которой уже описан цвет.
так работает GIF и 8-bit BMP.
более наглядно в фотошопе, если индексировать картинку в 8 битную.
либо вариант 3+2+3 бита, но это как-то совсем скудно, хотя для экранной графики достаточно.
прикол индексированной палитры в том, что можно создать анимацию, не перерисовывая экран.
меняя несколько байт в таблице палитры, можно менять всю картинку на экране.
экономятся ресурсы, т.к. экран не перерисовывается (а перерисовывается он ооочень медленно, особенно через прерывания; через прямую запись в память было быстрей, но случались баги из-за несовместимости адаптеров).
этим пользовались во времена 286-х компов и первых VGA-адаптеров.
кто помнит бегущую волну на заставке Windows 95 - она "ехала" именно таким образом.
а это обычный BMP-файл.