1. 程式人生 > >C# winforms 輸入顏色轉換顏色名

C# winforms 輸入顏色轉換顏色名

本文告訴大家如何輸入顏色,如0xFFFF8000轉換為 Orange 在 winforms 程式

可以使用下面程式碼轉換

    public static class HexColorTranslator
    {
        private static Dictionary<string, string> _hex2Name;

        private static Dictionary<string, string> Hex2Name
        {
            get
            {
                if (
_hex2Name == null) { _hex2Name = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); foreach (KnownColor ce in typeof(KnownColor).GetEnumValues()) { var name = ce.ToString(); var
color = Color.FromKnownColor(ce); var hex = HexConverter(color); _hex2Name[hex] = name; } } return _hex2Name; } } private static string HexConverter(Color c) { return
c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); } public static string GetKnownColorFromHex(string hex) { hex = hex.TrimStart('#'); if (Hex2Name.TryGetValue(hex, out var result)) { return result; } return "???"; } }

呼叫的方式是傳入顏色

HexColorTranslator.GetKnownColorFromHex("#FFFF8000");

我搭建了自己的部落格 https://lindexi.gitee.io/ 歡迎大家訪問,裡面有很多新的部落格。只有在我看到部落格寫成熟之後才會放在csdn或部落格園,但是一旦釋出了就不再更新

如果在部落格看到有任何不懂的,歡迎交流,我搭建了 dotnet 職業技術學院 歡迎大家加入