標籤:
http://www.cnblogs.com/goldarch/archive/2010/08/16/1801053.html
#region [顏色:16進位轉成RGB]
/// <summary>
/// [顏色:16進位轉成RGB]
/// </summary>
/// <param name="strColor">設定16進位顏色 [返回RGB]</param>
/// <returns></returns>
public static System.Drawing.Color colorHx16toRGB(string strHxColor)
{
try
{
if (strHxColor.Length == 0)
{//如果為空白
return System.Drawing.Color.FromArgb(0, 0, 0);//設為黑色
}
else
{//轉換顏色
return System.Drawing.Color.FromArgb(System.Int32.Parse(strHxColor.Substring(1, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(3, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(5, 2), System.Globalization.NumberStyles.AllowHexSpecifier));
}
}
catch
{//設為黑色
return System.Drawing.Color.FromArgb(0, 0, 0);
}
}
#endregion
#region [顏色:RGB轉成16進位]
/// <summary>
/// [顏色:RGB轉成16進位]
/// </summary>
/// <param name="R">紅 int</param>
/// <param name="G">綠 int</param>
/// <param name="B">藍 int</param>
/// <returns></returns>
public static string colorRGBtoHx16(int R, int G, int B)
{
return System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(R, G, B));
}
#endregion
又:
private string ToHexColor(Color color)
{
string R = Convert.ToString(color.R, 16);
if (R == "0")
R = "00";
string G = Convert.ToString(color.G, 16);
if (G == "0")
G = "00";
string B = Convert.ToString(color.B, 16);
if (B == "0")
B = "00";
string HexColor = "#" + R + G + B;
return HexColor;
}
public string ForeColor
{
set
{
//value = #ab364f
int r = Convert.ToInt32("0x" + value.Substring(1, 2),16);
int g = Convert.ToInt32("0x" + value.Substring(3, 2),16);
int b = Convert.ToInt32("0x" + value.Substring(5, 2),16);
txtUrl.ForeColor = System.Drawing.Color.FromArgb(r,g,b);
}
}
C# RGB與16進位色彩轉換方法