Мне нужно преобразовать растровое изображение в строку в текстовом файле. Поэтому я сначала конвертирую Bitmap в массив байтов, а затем пытаюсь преобразовать массив байтов в строку, а затем добавляю строку в строку в текстовом файле.
Это должно быть что-то вроде:
test.txt
3 34 25 245 ... 24 2 1 # 1-е изображение
73 32 2 2 4 ... 12 2 5 # 2-е изображение
Этот код не работает, как его изменить?
public static void SaveImgAsText(Bitmap img, string path)
{
// Specify a pixel format.
PixelFormat pxf = PixelFormat.Format24bppRgb;
// Lock the bitmap's bits.
Rectangle rect = new Rectangle(0, 0, img.Width, img.Height);
BitmapData bmpData =
img.LockBits(rect, ImageLockMode.ReadWrite,
pxf);
// Get the address of the first line.
IntPtr ptr = bmpData.Scan0;
// Declare an array to hold the bytes of the bitmap.
// int numBytes = bmp.Width * bmp.Height * 3;
int numBytes = bmpData.Stride * img.Height;
byte[] rgbValues = new byte[numBytes];
// Copy the RGB values into the array.
Marshal.Copy(ptr, rgbValues, 0, numBytes);
string result = System.Text.Encoding.UTF8.GetString(rgbValues);
}