Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

Как получить R,G,B из clBtnFace?   Найти похожие ветки 

 
ancara ©   (2004-06-11 10:49) [0]

Доброго времени суток, господа! Поскажите пожалуйста как из clBtnFace и ему подобных вытащить R, G и B значения. Посмотрел в Graphics.pas, там
COLOR_BTNFACE = 15;
  и
clBtnFace = (COLOR_BTNFACE or $80000000);
 Я так понимаю, 15 это индекс в сист. палитре, да? А как мне из этой палитры RGB получить?


 
YurikGL ©   (2004-06-11 10:55) [1]

GetRValue
GetBValue
GerGValue


 
ancara ©   (2004-06-11 11:02) [2]

> YurikGL ©   (11.06.04 10:55) [1]
> GetRValue


Windows.pas:

function GetRValue(rgb: DWORD): Byte;
begin
 Result := Byte(rgb);
end;


В качестве параметра rgb мы передаем clBtnFace, а он равен $8000000F, что получаем на выходе?


 
Gero ©   (2004-06-11 11:04) [3]

Color := ColorToRGB(clBtnFace);
R := GetRValue;
G := GetGValue;
B := GetBValue;

Считайте сами.


 
ancara ©   (2004-06-11 11:15) [4]


> Gero ©   (11.06.04 11:04) [3]
> Color := ColorToRGB(clBtnFace);


Так вот оно в чем дело! Все, арбайтет! Спасибо!


 
Anatoly Podgoretsky ©   (2004-06-11 11:39) [5]

ancara ©   (11.06.04 11:15) [4]
Да в этом, TColor это не RGB, а гораддо комплекснее.


 
YurikGL ©   (2004-06-11 11:41) [6]


> Anatoly Podgoretsky ©   (11.06.04 11:39) [5]

На один байт?


 
Anatoly Podgoretsky ©   (2004-06-11 12:06) [7]

Не только, кроме этого первые три байта могут сожержать далеко не RGB



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
1-1086718467
Saracin
2004-06-08 22:14
2004.06.27
Стек вызовов (call stack)


1-1086958225
barnaul
2004-06-11 16:50
2004.06.27
Експорт данных в Word


14-1086801955
Феликс
2004-06-09 21:25
2004.06.27
Если сократить всё человечество до деревни в 100 жителей,


3-1086062889
Guma
2004-06-01 08:08
2004.06.27
Тип поля счетчик


1-1086976623
Morrison
2004-06-11 21:57
2004.06.27
Как реализовать в Delphi аналог процедуры read?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский