📜  c# 颜色转换 - C# (1)

📅  最后修改于: 2023-12-03 15:13:52.938000             🧑  作者: Mango

C# 颜色转换

在C#中,可以使用Color结构体表示颜色。在很多情况下,我们需要对颜色进行转换,例如将颜色的RGB值转换为16进制字符串等。下面将介绍C#中常见的颜色转换方法。

RGB转换为16进制字符串
Color color = Color.FromArgb(128, 255, 0, 0);
string hexString = string.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B);
// hexString = "#FF0000"

上述代码将颜色值128, 255, 0, 0(即红色)转换为16进制字符串#FF0000

16进制字符串转换为RGB颜色
string hexString = "#FF0000";
Color color = ColorTranslator.FromHtml(hexString);
// color = Color.FromArgb(255, 0, 0);

上述代码将16进制字符串#FF0000转换为RGB颜色值255, 0, 0。

RGB颜色转换为HSV颜色
Color color = Color.FromArgb(128, 255, 0, 0);
float h, s, v;
Color.RGBtoHSV(color.R, color.G, color.B, out h, out s, out v);
// h = 0, s = 1, v = 1

上述代码将RGB颜色值128, 255, 0, 0转换为HSV颜色值0, 1, 1。

HSV颜色转换为RGB颜色
float h = 0;
float s = 1;
float v = 1;
Color color = ColorTools.HSVtoRGB(h, s, v);
// color = Color.FromArgb(255, 0, 0);

上述代码将HSV颜色值0, 1, 1转换为RGB颜色值255, 0, 0。

以上是常见的C#颜色转换方法,可以在应用程序中使用,为用户提供更加美观的界面。