// 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 thenbegin
r := r+((r/255)*100);
g := g+((g/255)*100);
b := b+((b/255)*100);
endelsebegin
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;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Затемнить или осветлить цвет", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!