簡體   English   中英

具有一種十六進制或 RGB 顏色代碼。 以此為基礎,需要根據 C# 中的百分比生成更亮和更暗的漸變顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM