将位图保存到MemoryStream中

时间:2011-12-29 10:00:00

标签: c# bitmap memorystream

我应该分配内存还是仅分配内存流的对象: 这样好吗?

MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);

如果我需要定义MemoryStream大小,我该如何从Bitmap获取它?

2 个答案:

答案 0 :(得分:15)

.NET是一个托管环境:具体而言,内存分配通常由.NET运行时代表您管理。您通常不需要自己分配内存。

但是,有时候,您需要在使用Close()Dispose()完成内存后通知运行时。 using语句可用于包装MemoryStream等资源,以告知运行时可以回收内存。

答案 1 :(得分:6)

您无需预先分配内存。

您可以使用memoryStream.Length获得该尺寸。


在使用memoryStream完成所需操作后,请务必将其丢弃(或将其全部包含在using语句中)。