Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Есть 16-бит, 24-бит и 32-бит глубина цветов, а RGB всегда 3 байта и каждый байт принимает значение от 0-255, почему так?

Семён Куликов Мыслитель (6091), закрыт 11 месяцев назад
Где кодируется глубина цвета?
Лучший ответ
Андрей Высший разум (466198) 11 месяцев назад
При использовании 16 бит или 8 бит кодируются не уровни RGB, а индексы в палитре цветов. А уже в этой палитре задаются значения RGB для 256 (8 бит) или 65536 (16 бит) используемых цветов.

24 бита - это и есть три байта: прямое кодирование RGB.

32 бита используется в двух вариантах:
  1. Дополнительный байт используется для канала прозрачности. Так устроен, например, PNG с прозрачностью.
  2. 30 бит из 32 используются для кодирования 10 бит на цветовой канал: уровни 0-1023. Ты ошибаешься, что всегда байт на цвет: современные видеокарты и мониторы (некоторые) умеют 10 бит на цвет.
Остальные ответы
Денис Искусственный Интеллект (116139) 11 месяцев назад
пчоему три байта? три группы байт. так вернее.
Sergey V. VoroninИскусственный Интеллект (295151) 11 месяцев назад
три группы бит :) Есть и 15-битный ргб, и 16, но наиболее популярный 24-битный, хотя в матрицах он 36-битный до преобразования. И т.д.
Енотий Старший Гуру (4452) 11 месяцев назад
1. Байт - это всегда от 0-255.
  1. У rgb часто есть прозрачность, так что это и будет ваши 32 бита.
Алекс Куха Высший разум (465987) 11 месяцев назад
Есть ещё 8-бит и меньше. Кодируется форматом. Прикинь, и тоже rgb. Почему что? Это разные варианты сериализации информации.
самолет самолетов Искусственный Интеллект (298065) 11 месяцев назад
"RGB всегда 3 байта и каждый байт принимает значение от 0-255, почему так" - один байт это 8 бит. Вот и получается что 8х3=24, а если добавить еще и альфаканал (плюс 1 байт), то будет уже 4х8=32.
Ответ: вот ТУТ и кодируется глубина цвета, ЧИСЛАХ описывающих цвет. Если меньше 24-бит, то метод кодирования меняется (смотри ответ Андрей), а бывает что в RGB не один байт в каждом канале, а два, тогда каждый канал имеет значения 0-65535... ну и самый крайний случай, когда в одном канале RGB записано 4 байта, такие изображения уже невозможно увидеть на мониторе, но они используются в 3D графике и фотографами, иногда.
Похожие вопросы