Наличие одного цветового кода в шестнадцатеричном или RGB.Сохраняя это в качестве основы, нужно генерировать более светлые и темные цвета градиента на основе процента в C # - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть код основного цвета (в этом примере это "# 0078D4") в шестнадцатеричном или RGB.Сохраняя это в качестве основы, мне нужно генерировать более светлые и темные цвета градиента, основанные на процентном соотношении.Существует ли какой-либо код или алгоритм C # для достижения этой цели?

#004478 | Darken 18% | rgb(0,68,120)

#005ba1 | Darken 10% | rgb(0,91,161)

#006fc5 | Darken 3% | rgb(0,111,197)

#0078D4 | rgb(0,120,212) |

#0086ed | Lighten 5% | rgb(0,134,237)

#4fb3ff | Lighten 24% | rgb(79,179,255)

#bae1ff | Lighten 46% | rgb(186,225,255)

# d9efff | Lighten 51% | rgb(217,239,255)

# edf7ff | Lighten 55% | rgb(237,247,255)

1 Ответ

0 голосов
/ 12 февраля 2019

в System.Drawing вы можете использовать:

Color color = Color.FromArgb(r, g, b);
var h = color.GetHue();
var s = color.GetSaturation();
var l = color.GetBrightness(); <-- increase or decrease

в System.Windows.Forms вы можете использовать

`ControlPaint.Light / Dark Method

var result = ColorPaint.Dark(rgb(0,68,120), .18);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...