[英]Having one color code either in hexadecimal or RGB. Keeping this as base, need to generate lighter & darker gradient colors based on percentage in C#
我有一个十六进制或 RGB 的基本颜色代码(在本例中为“#0078D4”)。 以此为基础,我需要根据 %percentage 生成更亮和更暗的渐变颜色。 是否有任何 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)
在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 方法
var result = ColorPaint.Dark(rgb(0,68,120), .18);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.