реклама на сайте
подробности

 
 
> Как 16 битный цвет разложить на составляющие?
011119xx
сообщение Oct 21 2011, 04:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Имеется 16 битный цвет в формате 5-6-5 (RGB). Как из него получить 3 байта для каждой из составляющих?

Сообщение отредактировал 011119xx - Oct 21 2011, 04:30
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
011119xx
сообщение Oct 21 2011, 08:15
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Не согласен с G = RGB>>3 & 0xfc | RGB >> 9;
Go to the top of the page
 
+Quote Post
Sergey_Aleksandr...
сообщение Oct 21 2011, 09:49
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764



Я, признаться, не уловлю смысла. Какая разница что в младшие биты каждой компоненты дописывать: нули, единицы или копировать старшие биты. Ведь в любом случае мы не можем восстановить информацию о цвете со 100% вероятностью (из 5 бит сделать 8 и при этом не ошибиться).
UPD Кажется "дошло". Чем бОльшую насыщенность имеет цвет (ближе к 0FF) тем больше будет значение младших дописываемых бит. И наоборот, чем ближе компонента к нулю, тем меньше будет дописываемая часть. Т.е. дописываемый хвостик зависит от интенсивности цвета, который в итоге на границах диапазона стремиться к 0xFF и к 0x00.

Сообщение отредактировал Sergey_Aleksandrovi4 - Oct 21 2011, 09:57
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016