Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Графика и Игры \ Цвета и Палитра \ Затемнить или осветлить цвет

Затемнить или осветлить цвет

// Takes a TColor and returns either the lighter or darker color, depending on 
// the supplied integer (percentage of original to add or subtract) 
// I don't know if this is 100% correct - I did it away from my computer. 

function TMainForm.ChangeColor(InputColor: TColor; Lighten: Boolean; n: Extended): TColor;
 var
   r,g,b: extended;
 begin
   // Grab RGB values 
  r := GetRValue(InputColor);
   g := GetGValue(InputColor);
   b := GetBValue(InputColor);
   // Do the operation 
  if Lighten = True then
   begin
     r := r+((r/255)*100);
     g := g+((g/255)*100);
     b := b+((b/255)*100);
   end else
   begin
     r := r-((r/255)*100);
     g := g-((g/255)*100);
     b := b-((b/255)*100);
   end;
   // Check whether result is in range 
  if r > 255 then r := 255;
   if r < 0 then r := 0;
   if g > 255 then g := 255;
   if g < 0 then g := 0;
   if b > 255 then b := 255;
   if b < 0 then b := 0;
   // Send it out 
  Result := RGB(byte(Round(r)),byte(Round(g)),byte(Round(b)));
 end;

Название: Затемнить или осветлить цвет
Дата публикации: 2004-08-31 (2908 Прочтено)

 
 

 

Page generation 0.036 seconds