Затемнить или осветлить цветDelphi , Графика и Игры , Цвета и ПалитраЗатемнить или осветлить цвет
Оформил: DeeCo // 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; Функция
Функция возвращает результативное значение типа Схема работы функции следующая:
Обратите внимание:
В целом, код прост и легко понятен. Хорошая работа, DeeCo! Функция ChangeColor позволяет изменять цвет, выбрав между затемнением или осветлением цвета с помощью заданного процентного значения. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Цвета и Палитра ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |