|
Вопрос # 1 197/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Существует функция RGB(red,Green,Blue:byte):integer;
А существует ли обратная ей? Как узнать, сколько в заданном цвете красного, синего и зеленого?
С уважением, Сергей Анатольевич.
 |
Вопрос задал: Полушин Сергей Анатольевич (статус: Посетитель)
Вопрос отправлен: 14 декабря 2007, 19:35
Состояние вопроса: решён, ответов: 3.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, Полушин Сергей Анатольевич!
Да, существуют, это функции GetRValue(), GetGValue() и GetBValue(). Они возвращают соответственно величину красного, зелёного и синего канала в заданном цвете. Удачи!
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 14 декабря 2007, 19:52
Оценка за ответ: 5
Комментарий к оценке: Исчерпывающий ответ! и ничего лишнего
|
Ответ #2. Отвечает эксперт: Николай Рубан
Здравствуйте, Полушин Сергей Анатольевич!
Такие функции есть (GetRValue,GetGValue,GetBValue), вот пример их использования:
procedure TForm1.Button1Click(Sender: TObject);
var r,g,b:Byte;
Color:TColor;
begin
Color:=Label1.Color;
Color:=ColorToRGB(Color);
r:=GetRValue(Color);
g:=GetGValue(Color);
b:=GetBValue(Color);
ShowMessage(format('R=%d G=%d B=%d',[r,g,b]));
end;
Good Luck!!!
 |
Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 14 декабря 2007, 20:08
Оценка за ответ: 5
Комментарий к оценке: Ещё более исчерпывающий...
Пятёрка
|
Ответ #3. Отвечает эксперт: Feniks
Здравствуйте, Полушин Сергей Анатольевич!
В дополнении к выше сказанному.
Есть еще ColorToRGB. Все они описаны в Хелпе.
Удачи.
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 17 декабря 2007, 11:40
|
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 20:02: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|