首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎样将一个类似10101100这样的字符串转为Color类型解决方法

2012-02-03 
怎样将一个类似10101100这样的字符串转为Color类型我有一个已经处理好的字符串,它的形式是这样的比如:字符

怎样将一个类似10101100这样的字符串转为Color类型
我有一个已经处理好的字符串,它的形式是这样的

比如:字符串="110011101101001010110000"

它是24"位"的,就是说有24个字符
现在想将1-8位的"11001110"字符串,转化为数值型的数据,这样它的最大值是255

9-16位为一组,17-24位为一组,都按上面说的转成数值

最后,将这3个数值(刚好构成一个Color类型的变量),转化为可用的Color类型,SetPixel写入到一个bmp文件的指定像素

该怎样做呢?

会的高手帮帮我吧!拜谢了!

[解决办法]
先取8位出来。string b8=“11001110”; 
Convert.ToInt32(b8, 10);
[解决办法]

C# code
string str = "110011101101001010110000";int rgb = 0;for (i = 0; i < 24; i++){    if (str[i] == '1') rgb |= 1;    rgb <<= 1;}Color color = Color.FromArgb(rgb);
[解决办法]
string s = "110011101101001010110000";
int r = Convert.ToInt32(s.Substring(0, 8),2);
int g = Convert.ToInt32(s.Substring(8, 8),2);
int b = Convert.ToInt32(s.Substring(16, 8),2);
Color c = Color.FromArgb(r, g, b);
[解决办法]
C# code
            string now = "110011101101001010110000";            Regex reg = new Regex(@"\d{8}");            MatchCollection coll = reg.Matches(now);            int Red = Convert.ToInt32(coll[0].Value,2);            int Green = Convert.ToInt32(coll[1].Value,2);            int Blue = Convert.ToInt32(coll[2].Value, 2);                     Color color = Color.FromArgb(Red,Green , Blue);
[解决办法]
C# code
            string str = "110011101101001010110000";            int tmp = Convert.ToInt32(str, 2);            int red = tmp >> 16;            int green = tmp >> 8 & 255;            int blue = tmp & 255;            Color color = Color.FromArgb(red, green, blue); 

热点排行