Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как получить три составляющие цвета пиксела ?

3.2K
08 декабря 2011 года
rihkov
42 / / 30.10.2005
Получаю цвет пиксела допустим при помощи TColor __fastcall GetPixel(int X, int Y); или в билдере Bitmap->Canvas->Pixels(X, Y) вобщем возвращается значение целым числом, как получить три составляющие R G B и присвоить значение от каждой составляющей отдельной переменной в диапазоне от 0 до 255 ?
277
08 декабря 2011 года
arrjj
1.7K / / 26.01.2011
 
Код:
unsigned int ARGB=Bitmap->Canvas->Pixels(X, Y);
unsigned char A,R,G,B;
B=ARGB&0xFF;
ARGB>>8;
G=ARGB&0xFF;
ARGB>>8;
R=ARGB&0xFF;
ARGB>>8;
A=ARGB&0xFF;

инт = 4 байта -> альфа-канал , красный , зеленый , синий . альфа-канал используется в RGBA
3.2K
09 декабря 2011 года
rihkov
42 / / 30.10.2005
Спасибо за пример, сперва всегда охота сделать все сразу чтобы работало как задумаеш, потом остынеш и начинаеш читать МСДН... Почитал, все нашел, разобрался.

DWORD lRGBColor;
WORD R,G,B;
lRGBColor = Image2->Canvas->Pixels[X][Y];
R = GetRValue(lRGBColor);
G = GetGValue(lRGBColor);
B = GetBValue(lRGBColor);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог