怎样将一个类似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);