C# RGB與16進制顏色轉換方法


#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);

        }

}

 

 

 

http://www.cnblogs.com/goldarch/archive/2010/08/16/1801053.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM