| 
| 
 | Вопрос # 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |