Главная » Delphi » Графика » Увеличить-уменьшить яркость цвета

Увеличить-уменьшить яркость цвета

15:39
function Darker(Color: TColor; Percent: Byte): TColor;
var r, g, b: Byte;
begin Color := ColorToRGB(Color);
r := GetRValue(Color);
g := GetGValue(Color);
b := GetBValue(Color);
r := r - muldiv(r, Percent, 100);
//процент% уменьшения яркости
g := g - muldiv(g, Percent, 100);
b := b - muldiv(b, Percent, 100);
result := RGB(r, g, b);
end;
 
function Lighter(Color: TColor; Percent: Byte): TColor;
var r, g, b: Byte;
begin
Color := ColorToRGB(Color);
r := GetRValue(Color);
g := GetGValue(Color);
b := GetBValue(Color);
r := r + muldiv(255 - r, Percent, 100);
//процент% увеличения яркости
g := g + muldiv(255 - g, Percent, 100);
b := b + muldiv(255 - b, Percent, 100);
result := RGB(r, g, b);
end;