首页 新闻 会员 周边 捐助

颜色值转换,比如"#EE22FF"如果转换为Color.FromArgb(0,0,0);这三个整数?

0
悬赏园豆:10 [已解决问题] 解决于 2010-06-22 08:16

颜色值转换
比如"#EE22FF"如果转换为Color.FromArgb(0,0,0);这三个整数?
类似这样:
string strColor = "EE22FF";
int red = ..;//根据strColor换算
int blue = ..;
int yellow = ..;
Color bColor = Color.FromArgb(red,blue,yellow,255);
具体应该怎样写?请高手不吝赐教。

问题补充: http://www.cnblogs.com/greatverve/archive/2010/06/21/colorStr-to-argb.html
大气象的主页 大气象 | 初学一级 | 园豆:79
提问于:2010-06-21 10:34
< >
分享
最佳答案
0

要这样吗?

代码
       string strColor = "#EE22FF";
Color col
= ColorTranslator.FromHtml(strColor);
int alpha = col.A;
int red = col.R;
int green = col.G;
int blue = col.B;
Color bColor
= Color.FromArgb(alpha,red, green, blue);

其实这里的col变量就可以达到bColor的目的,你是要bColor吧?

也可以直接根据16进制分别计算rgb值。如EE表示R,是14*16+14=238(E-->14).

另外Color.FromArgb(alpha,red, green, blue),不是Color.FromArgb(red, green, blue,alpha),基色是rgb。

收获园豆:10
哈欠懒农 | 菜鸟二级 |园豆:455 | 2010-06-21 13:05
ColorTranslator这个在哪个命名空间下?谢谢。
大气象 | 园豆:79 (初学一级) | 2010-06-21 15:55
在sliverlight项目中无法引用System.Drawing 你是在winForm下面吗?
大气象 | 园豆:79 (初学一级) | 2010-06-21 16:00
在sl项目中无法引用System.Drawing;可以使用你的方法在其他项目中写个函数来得到对应的值。http://www.cnblogs.com/greatverve/archive/2010/06/21/colorStr-to-argb.html
大气象 | 园豆:79 (初学一级) | 2010-06-21 16:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册