Я искал несколько дней, и все текущие ответы о том, как преобразовать байт [], заполненный imageData, приводит меня к этому куску кода:
using (var ms = new MemoryStream(byte[]))
{
Bitmap bit = new Bitmap(ms);
}
что-то вроде этого, по крайней мере (Я сделал так много версий этого к настоящему времени. Я не помню оригинал), но независимо от того, как я его использую, я всегда получаю «неверный параметр» для параметра, когда пытаюсь поместить поток в мое растровое изображение.
вот как я сейчас сохраняю это:
private static byte[] ConvertToByteArr(Bitmap bitmap)
{
byte[] result;
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Bmp);
result = stream.ToArray();
return result;
}
и вызываю его, когда я сохраняю свой словарь в файл .txt
вот так яЯ пытаюсь прочитать это снова.
TextReader reader = new StreamReader(trainingPath + "\\" + filename + ".txt");
Dictionary<string, string> tempDict = new Dictionary<string, string>();
String line;
String[] parts;
List<string> names = new List<string>();
while ((line = reader.ReadLine()) != null)
{
parts = line.Split('=');
string key = parts[0];
string value = parts[1];
tempDict.Add(key, value);
Console.WriteLine("added " + key + " to temp Dict");
byte[] byteArr = Encoding.ASCII.GetBytes(tempDict[key]);
MemoryStream ms = new MemoryStream(byteArr);
Bitmap bit = new Bitmap(Image.FromStream(ms));
parts[0] = null;
parts[1] = null;
}
все работает, пока строка Bitmap bit = new Bitmap (Image.Fromstream (ms))).