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

 
 
> Как 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
Ответов
x736C
сообщение Oct 21 2011, 05:59
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



GDI от Microsoft использует правило:

Для 5-разрядных (красный и синий) каналов, три старших бита копируются как младшие биты байта, то есть присоединяются справа к 5-битному слову. ABCDE -> ABCDE'ABC
Для 6-битного (зеленого) канала два. ABCDEF -> ABCDEF'AB

Пример:
(0x15, 0x33, 0x1D) станет (0xAD, 0xCF, 0xEF)
Красный: канал: 1 0101 -> 1010 1101.
Зеленый: 11 0011 -> 1100 1111.
Синий преобразуется так же, как и красный.

Взято отсюда: http://msdn.microsoft.com/en-us/library/wi...6(v=vs.85).aspx


Можно также масштабировать компоненты.
Например: http://ez.analog.com/thread/1205


Но можно и проще, подправив пример от AHTOXA

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

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


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:45
Рейтинг@Mail.ru


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