我想在 C# 中拆分一个拆分的字符串。基本上,我想以数字的形式保存图像,这里是使用 GetPixel 将其保存到 C# 中的数字的代码
TextWriter textWriter = new StreamWriter(fileName);
for (int x = 0; x < bmp.Width; x++)
{
for (int y = 0; y < bmp.Height; y++)
{
Color pixel = bmp.GetPixel(x, y);
textWriter.Write(pixel.R + "," + pixel.G + "," + pixel.B + " ");
}
}
这是一个可能的结果:252,255,192 252,255,192 252,255,192。像素用空格隔开,rgb 用逗号隔开。
问题是当我尝试再次将其转换为图像时,这是我当前获取像素 rgb 的代码。
TextReader textReader = new StreamReader(fileName);
string allLine = textReader.ReadLine();
string[] splitPixel = allLine.Split(' ');
string[] splitRGB = null;
for (int i=0; i<splitPixel.Length; i++) {
splitRGB[i] = splitPixel[i].Split(',');
}
这是设置像素颜色的代码
for (int x = 0; x < bmp.Width; x++)
{
for (int y = 0; y < bmp.Height; y++)
{
byte tempR, tempG, tempB = 0;
tempR = Convert.ToByte(splitRGB[x]);
tempG = Convert.ToByte(splitRGB[x+1]);
tempB = Convert.ToByte(splitRGB[x+2]);
Color pixel = Color.FromArgb(tempR,tempG,tempB);
bmp.SetPixel(x, y, pixel);
}
}
现在它只告诉我这个错误“无法将类型'string []'隐式转换为'string'”
splitRGB[i] = splitPixel[i].Split(',')