System.Drawing.Image to stream C#
我的程序中有一个System.Drawing.Image。文件不在文件系统中,它保存在内存中。我需要从中创建一个流。我该怎么做呢?
请尝试以下操作:
1 2 3 4 5 6
| public static Stream ToStream (this Image image, ImageFormat format ) {
var stream = new System.IO.MemoryStream();
image .Save(stream, format );
stream .Position = 0;
return stream ;
} |
然后您可以使用以下内容:
2
用适合您场景的任何格式替换GIF。
- 我只是写了同样的东西!
- 保存到流时,system.drawing.image.save需要格式。msdn.microsoft.com/en-us/library/ms142147.aspx
- 通过将image save语句更改为:image.save(stream,image.rawformat),可以保留原始图像格式;
使用内存流
1 2 3 4 5
| using(MemoryStream ms = new MemoryStream ())
{
image .Save(ms, ...);
return ms .ToArray();
} |