49
我在我的程序中有一個System.Drawing.Image
。該文件不在它保存在內存中的文件系統上。我需要從中創建一個流。我會如何去做這件事?System.Drawing.Image流C#
我在我的程序中有一個System.Drawing.Image
。該文件不在它保存在內存中的文件系統上。我需要從中創建一個流。我會如何去做這件事?System.Drawing.Image流C#
嘗試以下操作:
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 。
使用內存流
using(MemoryStream ms = new MemoryStream())
{
image.Save(ms, ...);
return ms.ToArray();
}
我只是寫着完全相同的東西! – configurator 2009-11-03 16:34:28
System.Drawing.Image.Save在保存到流時需要格式。 http://msdn.microsoft.com/en-us/library/ms142147.aspx – jcollum 2011-05-31 20:45:03
您可以通過將圖像保存語句更改爲以下內容來保留原始圖像格式:image.Save(stream,image.RawFormat); – Marko 2017-03-31 16:01:36