C# 顏色Color與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(Color color) { if (color.IsEmpty) return "#000000"; return System.Drawing.ColorTranslator.ToHtml(color); } #endregion #region /// <summary> /// [顏色:RGB轉成16進制] /// </summary> /// <param name="color">顏色</param> /// <returns>十六進制值,如果參數為空,默認返回#000000</returns> private static string ToHexColor(Color color) { if (color.IsEmpty) return "#000000"; 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.ToUpper(); } #endregion

 


免責聲明!

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



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