rgb转换成英文名字 谁会?

yanfang19850405 2009-12-03 09:48:27
rgb如何转换成英文名字 ,如#FFFFF对应的是White,有没有相应的程序来转换啊,急
...全文
346 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanfang19850405 2009-12-04
  • 打赏
  • 举报
回复
结贴~~ 吃饱了~~~
wuyi8808 2009-12-03
  • 打赏
  • 举报
回复
4楼的程序不错,我测试了一下:
using System;
using System.Drawing;
using System.Reflection;

class Program
{
static void Main()
{
foreach (KnownColor k in Enum.GetValues(typeof(KnownColor)))
{
Color c = Color.FromKnownColor(k);
Console.WriteLine("{0,3} {1,25} {2:x8} {3}", (int)k, k, c.ToArgb(), GetColorName(c));
}
}

public static string GetColorName(Color p_Color)
{
PropertyInfo[] _PropertyList = typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static);
for (int i = 0; i != _PropertyList.Length; i++)
{
Color _ValueColor = (Color)_PropertyList[i].GetValue(null, null);
if (_ValueColor.ToArgb() == p_Color.ToArgb())
{
return _ValueColor.Name;
}
}
return "";
}
}



1 ActiveBorder ffd4d0c8
2 ActiveCaption ffff0000 Red
3 ActiveCaptionText ffffffff White
4 AppWorkspace ff808080 Gray
5 Control ffe9e9e9
6 ControlDark ff96b5da
7 ControlDarkDark ff959595
8 ControlLight fff4f3ed
9 ControlLightLight ffffffff White
10 ControlText ff000000 Black
11 Desktop ff3c5b7b
12 GrayText ff808080 Gray
13 Highlight ff96b5da
14 HighlightText ff000000 Black
15 HotTrack ff000080 Navy
16 InactiveBorder ffd4d0c8
17 InactiveCaption ff008000 Green
18 InactiveCaptionText ffe6ebf3
19 Info ffffffe1
20 InfoText ff000000 Black
21 Menu ffe8e8e8
22 MenuText ff000000 Black
23 ScrollBar ffd4d0c8
24 Window ffffffff White
25 WindowFrame ff000000 Black
26 WindowText ff000000 Black
27 Transparent 00ffffff Transparent
28 AliceBlue fff0f8ff AliceBlue
29 AntiqueWhite fffaebd7 AntiqueWhite
30 Aqua ff00ffff Aqua
31 Aquamarine ff7fffd4 Aquamarine
32 Azure fff0ffff Azure
33 Beige fff5f5dc Beige
34 Bisque ffffe4c4 Bisque
35 Black ff000000 Black
36 BlanchedAlmond ffffebcd BlanchedAlmond
37 Blue ff0000ff Blue
38 BlueViolet ff8a2be2 BlueViolet
39 Brown ffa52a2a Brown
40 BurlyWood ffdeb887 BurlyWood
41 CadetBlue ff5f9ea0 CadetBlue
42 Chartreuse ff7fff00 Chartreuse
43 Chocolate ffd2691e Chocolate
44 Coral ffff7f50 Coral
45 CornflowerBlue ff6495ed CornflowerBlue
46 Cornsilk fffff8dc Cornsilk
47 Crimson ffdc143c Crimson
48 Cyan ff00ffff Aqua
49 DarkBlue ff00008b DarkBlue
50 DarkCyan ff008b8b DarkCyan
51 DarkGoldenrod ffb8860b DarkGoldenrod
52 DarkGray ffa9a9a9 DarkGray
53 DarkGreen ff006400 DarkGreen
54 DarkKhaki ffbdb76b DarkKhaki
55 DarkMagenta ff8b008b DarkMagenta
56 DarkOliveGreen ff556b2f DarkOliveGreen
57 DarkOrange ffff8c00 DarkOrange
58 DarkOrchid ff9932cc DarkOrchid
59 DarkRed ff8b0000 DarkRed
60 DarkSalmon ffe9967a DarkSalmon
61 DarkSeaGreen ff8fbc8b DarkSeaGreen
62 DarkSlateBlue ff483d8b DarkSlateBlue
63 DarkSlateGray ff2f4f4f DarkSlateGray
64 DarkTurquoise ff00ced1 DarkTurquoise
65 DarkViolet ff9400d3 DarkViolet
66 DeepPink ffff1493 DeepPink
67 DeepSkyBlue ff00bfff DeepSkyBlue
68 DimGray ff696969 DimGray
69 DodgerBlue ff1e90ff DodgerBlue
70 Firebrick ffb22222 Firebrick
71 FloralWhite fffffaf0 FloralWhite
72 ForestGreen ff228b22 ForestGreen
73 Fuchsia ffff00ff Fuchsia
74 Gainsboro ffdcdcdc Gainsboro
75 GhostWhite fff8f8ff GhostWhite
76 Gold ffffd700 Gold
77 Goldenrod ffdaa520 Goldenrod
78 Gray ff808080 Gray
79 Green ff008000 Green
80 GreenYellow ffadff2f GreenYellow
81 Honeydew fff0fff0 Honeydew
82 HotPink ffff69b4 HotPink
83 IndianRed ffcd5c5c IndianRed
84 Indigo ff4b0082 Indigo
85 Ivory fffffff0 Ivory
86 Khaki fff0e68c Khaki
87 Lavender ffe6e6fa Lavender
88 LavenderBlush fffff0f5 LavenderBlush
89 LawnGreen ff7cfc00 LawnGreen
90 LemonChiffon fffffacd LemonChiffon
91 LightBlue ffadd8e6 LightBlue
92 LightCoral fff08080 LightCoral
93 LightCyan ffe0ffff LightCyan
94 LightGoldenrodYellow fffafad2 LightGoldenrodYellow
95 LightGray ffd3d3d3 LightGray
96 LightGreen ff90ee90 LightGreen
97 LightPink ffffb6c1 LightPink
98 LightSalmon ffffa07a LightSalmon
99 LightSeaGreen ff20b2aa LightSeaGreen
100 LightSkyBlue ff87cefa LightSkyBlue
101 LightSlateGray ff778899 LightSlateGray
102 LightSteelBlue ffb0c4de LightSteelBlue
103 LightYellow ffffffe0 LightYellow
104 Lime ff00ff00 Lime
105 LimeGreen ff32cd32 LimeGreen
106 Linen fffaf0e6 Linen
107 Magenta ffff00ff Fuchsia
108 Maroon ff800000 Maroon
109 MediumAquamarine ff66cdaa MediumAquamarine
110 MediumBlue ff0000cd MediumBlue
111 MediumOrchid ffba55d3 MediumOrchid
112 MediumPurple ff9370db MediumPurple
113 MediumSeaGreen ff3cb371 MediumSeaGreen
114 MediumSlateBlue ff7b68ee MediumSlateBlue
115 MediumSpringGreen ff00fa9a MediumSpringGreen
116 MediumTurquoise ff48d1cc MediumTurquoise
117 MediumVioletRed ffc71585 MediumVioletRed
118 MidnightBlue ff191970 MidnightBlue
119 MintCream fff5fffa MintCream
120 MistyRose ffffe4e1 MistyRose
121 Moccasin ffffe4b5 Moccasin
122 NavajoWhite ffffdead NavajoWhite
123 Navy ff000080 Navy
124 OldLace fffdf5e6 OldLace
125 Olive ff808000 Olive
126 OliveDrab ff6b8e23 OliveDrab
127 Orange ffffa500 Orange
128 OrangeRed ffff4500 OrangeRed
129 Orchid ffda70d6 Orchid
130 PaleGoldenrod ffeee8aa PaleGoldenrod
131 PaleGreen ff98fb98 PaleGreen
132 PaleTurquoise ffafeeee PaleTurquoise
133 PaleVioletRed ffdb7093 PaleVioletRed
134 PapayaWhip ffffefd5 PapayaWhip
135 PeachPuff ffffdab9 PeachPuff
136 Peru ffcd853f Peru
137 Pink ffffc0cb Pink
138 Plum ffdda0dd Plum
139 PowderBlue ffb0e0e6 PowderBlue
140 Purple ff800080 Purple
141 Red ffff0000 Red
142 RosyBrown ffbc8f8f RosyBrown
143 RoyalBlue ff4169e1 RoyalBlue
144 SaddleBrown ff8b4513 SaddleBrown
145 Salmon fffa8072 Salmon
146 SandyBrown fff4a460 SandyBrown
147 SeaGreen ff2e8b57 SeaGreen
148 SeaShell fffff5ee SeaShell
149 Sienna ffa0522d Sienna
150 Silver ffc0c0c0 Silver
151 SkyBlue ff87ceeb SkyBlue
152 SlateBlue ff6a5acd SlateBlue
153 SlateGray ff708090 SlateGray
154 Snow fffffafa Snow
155 SpringGreen ff00ff7f SpringGreen
156 SteelBlue ff4682b4 SteelBlue
157 Tan ffd2b48c Tan
158 Teal ff008080 Teal
159 Thistle ffd8bfd8 Thistle
160 Tomato ffff6347 Tomato
161 Turquoise ff40e0d0 Turquoise
162 Violet ffee82ee Violet
163 Wheat fff5deb3 Wheat
164 White ffffffff White
165 WhiteSmoke fff5f5f5 WhiteSmoke
166 Yellow ffffff00 Yellow
167 YellowGreen ff9acd32 YellowGreen
168 ButtonFace ffe9e9e9
169 ButtonHighlight ffffffff White
170 ButtonShadow ff96b5da
171 GradientActiveCaption ff0000ff Blue
172 GradientInactiveCaption ffbcc8de
173 MenuBar ffe8e8e8
174 MenuHighlight ffccd7e7
zgke 2009-12-03
  • 打赏
  • 举报
回复

Color _Color = Color.FromArgb(Convert.ToInt32("FF"+"#FFFFFF".Remove(0, 1), 16));


MessageBox.Show(GetColorName(_Color));



}


public string GetColorName(Color p_Color)
{
PropertyInfo [] _PropertyList = typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static);
Color _ValueColor;
for (int i = 0; i != _PropertyList.Length; i++)
{
_ValueColor =(Color) _PropertyList[i].GetValue(null, null);
if (_ValueColor.R == p_Color.R && _ValueColor.G == p_Color.G && _ValueColor.B == p_Color.B && _ValueColor.A ==p_Color.A)
{
return _PropertyList[i].Name;
}
}

return "";
}
yanfang19850405 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 maco_wang 的回复:]
你自己定义一个对应关系,然后存在数据库表里就可以了
[/Quote] 除了写对应关系,还有别的方法吗?有没有专门的函数来对应啊
叶子 2009-12-03
  • 打赏
  • 举报
回复
你自己定义一个对应关系,然后存在数据库表里就可以了
bolya 2009-12-03
  • 打赏
  • 举报
回复
的确 不好怎啊
小_虎 2009-12-03
  • 打赏
  • 举报
回复
楼主的确吃饱了。
vrhero 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yanfang19850405 的回复:]
所以用那种方法不合适了,效率低,而且也不全
[/Quote]
全?什么程度叫全,谁来定义?一千六百多万个名字?我不信有人吃饱了都给它们起过名字...

你自己写对照表也得有个名称参考吧,可以告诉你不会有这么个“全”的参考...
yanfang19850405 2009-12-03
  • 打赏
  • 举报
回复
看来只能自己写个参照表了
yanfang19850405 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 vrhero 的回复:]
引用 6 楼 yanfang19850405 的回复:
这个方法我已经用过了,有的rgb没有转换过来 如#4B1156 这种的,而且循环好多次,效率很低啊~~  还有什么解决的办法不~~

你要清楚一点...不是每种RGB颜色都有名字的,4楼代码出的那些名字也只是Windows系统的预定义的名称,没有定义的当然没有...你只有自己写个对照表,否则系统没有与定义名称的鬼才知道叫什么...
[/Quote] 所以用那种方法不合适了,效率低,而且也不全
vrhero 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yanfang19850405 的回复:]
这个方法我已经用过了,有的rgb没有转换过来 如#4B1156 这种的,而且循环好多次,效率很低啊~~  还有什么解决的办法不~~
[/Quote]
你要清楚一点...不是每种RGB颜色都有名字的,4楼代码出的那些名字也只是Windows系统的预定义的名称,没有定义的当然没有...你只有自己写个对照表,否则系统没有与定义名称的鬼才知道叫什么...
我姓区不姓区 2009-12-03
  • 打赏
  • 举报
回复

Console.WriteLine(ColorTranslator.FromHtml("#4B1156"));

十八道胡同 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yanfang19850405 的回复:]
引用 7 楼 wuyi8808 的回复:
那就自己搞个颜色名称对照表。
还有其他方法没
[/Quote]
自己弄个存本地用的时候直接取
yanfang19850405 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyi8808 的回复:]
那就自己搞个颜色名称对照表。
[/Quote] 还有其他方法没
wuyi8808 2009-12-03
  • 打赏
  • 举报
回复
那就自己搞个颜色名称对照表。
yanfang19850405 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgke 的回复:]
Color _Color = Color.FromArgb(Convert.ToInt32("FF"+"#FFFFFF".Remove(0, 1), 16));


            MessageBox.Show(GetColorName(_Color));



        }


        public string GetColorName(Color p_Color)
        {
            PropertyInfo [] _PropertyList = typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static);
            Color _ValueColor;
            for (int i = 0; i != _PropertyList.Length; i++)
            {
                _ValueColor =(Color) _PropertyList[i].GetValue(null, null);
                if (_ValueColor.R == p_Color.R && _ValueColor.G == p_Color.G && _ValueColor.B == p_Color.B && _ValueColor.A ==p_Color.A)
                {
                    return _PropertyList[i].Name;
                }
            }

            return "";
        }

[/Quote]这个方法我已经用过了,有的rgb没有转换过来 如#4B1156 这种的,而且循环好多次,效率很低啊~~ 还有什么解决的办法不~~

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧