У меня есть System.Drawing.Image
в моей программе. Файл не находится в файловой системе, хранящейся в памяти. Мне нужно создать поток из него. Как я могу это сделать?
System.Drawing.Image для потока С#
Ответ 1
Попробуйте следующее:
public static Stream ToStream(this Image image, ImageFormat format) {
var stream = new System.IO.MemoryStream();
image.Save(stream, format);
stream.Position = 0;
return stream;
}
Затем вы можете использовать следующее:
var stream = myImage.ToStream(ImageFormat.Gif);
Замените GIF любым форматом, подходящим для вашего сценария.
Ответ 2
Использовать поток памяти
using(MemoryStream ms = new MemoryStream())
{
image.Save(ms, ...);
return ms.ToArray();
}