转换VBColor值到十六进制值在c#
本文关键字:十六进制 VBColor 转换 | 更新日期: 2023-09-27 18:01:42
在c#中是否有办法将vbcolor值转换为十六进制值?例如:&H004080 (vbcolor)到#804000(十六进制值)。还是应该在外部转换值,然后将转换后的值放入我的代码中?
我是这样做的,到目前为止它是有效的:
public static string VBColorToHexConverter(string vbColor)
{
string hexValue;
string r = "", g = "", b = "";
char[] vbValue = vbColor.ToCharArray();
for (int i = 0; i < vbValue.Length; i++)
{
r = vbValue[6].ToString() + vbValue[7].ToString();
g = vbValue[4].ToString() + vbValue[5].ToString();
b = vbValue[2].ToString() + vbValue[3].ToString();
}
hexValue = "#" + r + g + b;
return hexValue;
}
需要将十六进制颜色转换为字符串:
将十六进制颜色字符串转换为RGB颜色:Public Function ConvertToRbg(ByVal HexColor As String) As Color
Dim Red As String
Dim Green As String
Dim Blue As String
HexColor = Replace(HexColor, "#", "")
Red = Val("&H" & Mid(HexColor, 1, 2))
Green = Val("&H" & Mid(HexColor, 3, 2))
Blue = Val("&H" & Mid(HexColor, 5, 2))
Return Color.FromArgb(Red, Green, Blue)
End Function
c# -或者使用这个问题中描述的库:
如何使用。net从十六进制颜色代码中获得颜色?
using System.Windows.Media;
Color color = (Color)ColorConverter.ConvertFromString("#FFDFD991");