c# - Guardar un mapa de bits en un MemoryStream
bitmap (2)
.NET es un entorno administrado: específicamente, la asignación de memoria generalmente es administrada en su nombre por el tiempo de ejecución de .NET. Normalmente, no es necesario que asigne la memoria.
Sin embargo, a veces, debe informar el tiempo de ejecución cuando haya terminado con la memoria mediante el uso de Close()
o Dispose()
. La declaración de using
se puede usar para envolver un recurso como MemoryStream
para indicar al tiempo de ejecución que se puede reclamar la memoria.
¿Debo asignar la memoria o solo el objeto de la secuencia de memoria: está bien?
MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Si necesito definir el tamaño de MemoryStream, ¿cómo puedo obtenerlo desde Bitmap?
No es necesario preasignar la memoria.
Puede obtener el tamaño después con memoryStream.Length
.
Una vez que haya hecho lo que necesita con su memoryStream
, asegúrese de desecharlo (o envuélvalo todo en una declaración de using
).