c# winform 如何实现16进制颜色值的转换
在winform里面我想把一个"#CE76D1"这样的颜色值赋给textbox的backcolor,请问如何转化呢?怎么写、、、、也就是说如何把""#CE76D1"这样的...
在winform里面 我想把一个"#CE76D1"这样的颜色值赋给textbox的backcolor,请问如何转化呢?怎么写、、、、
也就是说 如何把""#CE76D1"这样的一个颜色表示值转化为Color对象?
谢谢。。。 展开
也就是说 如何把""#CE76D1"这样的一个颜色表示值转化为Color对象?
谢谢。。。 展开
5个回答
展开全部
不知道有没有直接提供这种color结构的转换,MSDN上也没有发现这种使用方式,但是可以直接使用RGB来表示:
我和你说一下#CE76D1到RGB的转换吧,希望能帮助你:
16进制表示颜色值:CE76D1=>Red:CE Green:76 Blue:D1
只需将其转换为10进制就可以了,方法如下:
16进制中 C=12;D=13;E=14
转换为10进制:
Red:CE=C*16+E=12*16+14=206
Green:76=7*16+6=118
Blue:D1=13*16+1=209
所以#CE76D1转换为RGB后为:206 118 209
然后可以用以下方式:
this.textbox.BackColor = System.Drawing.Color.FromArgb(206,118,209);
就能实现你的想法了,当然你完全可以用PS等软件直接得到RGB值,如果你一定要使用#CE76D1的方式表示,你可以按照上面的方法编写一个类来实现它们之间的转换。
希望能帮到你,大家互相学习
我和你说一下#CE76D1到RGB的转换吧,希望能帮助你:
16进制表示颜色值:CE76D1=>Red:CE Green:76 Blue:D1
只需将其转换为10进制就可以了,方法如下:
16进制中 C=12;D=13;E=14
转换为10进制:
Red:CE=C*16+E=12*16+14=206
Green:76=7*16+6=118
Blue:D1=13*16+1=209
所以#CE76D1转换为RGB后为:206 118 209
然后可以用以下方式:
this.textbox.BackColor = System.Drawing.Color.FromArgb(206,118,209);
就能实现你的想法了,当然你完全可以用PS等软件直接得到RGB值,如果你一定要使用#CE76D1的方式表示,你可以按照上面的方法编写一个类来实现它们之间的转换。
希望能帮到你,大家互相学习
展开全部
代码如下:
Color c=Color.FromArgb(0,Convert.ToInt32("CE",16),Convert.ToInt32("76",16)Convert.ToInt32("D1",16));
//这里的CE、76和D1可以用String的Substring方法取得
Color c=Color.FromArgb(0,Convert.ToInt32("CE",16),Convert.ToInt32("76",16)Convert.ToInt32("D1",16));
//这里的CE、76和D1可以用String的Substring方法取得
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Color c=Color.FromArgb(0,Convert.ToInt32("CE",16),Convert.ToInt32("76",16)Convert.ToInt32("D1",16));
这里的CE、76和D1你可以用String的Substring方法取得
--------------------------
有个更简单的写法
UInt32 num=Convert.ToUint32("#CE76D1".Replace("#","0x"));
Color aColor=Color.FromArgb(0,(int)num>>16&0xff,(int)num>>8&0xff,(int)num&0xff);
这里的CE、76和D1你可以用String的Substring方法取得
--------------------------
有个更简单的写法
UInt32 num=Convert.ToUint32("#CE76D1".Replace("#","0x"));
Color aColor=Color.FromArgb(0,(int)num>>16&0xff,(int)num>>8&0xff,(int)num&0xff);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
九级的是正解,二级那个也对。
呵呵。不过最简单的是最好的。
我一开始也用fromARGB()方法。。。
呵呵。不过最简单的是最好的。
我一开始也用fromARGB()方法。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用ColorTranslator.FromHtml,如下
textbox.BackColor = ColorTranslator.FromHtml("#CE76D1");
textbox.BackColor = ColorTranslator.FromHtml("#CE76D1");
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询