Вопрос по bitmap, c#, memorystream – Сохранение растрового изображения в MemoryStream

24

Должен ли я выделять память или просто объект потока памяти: это нормально?

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

Если мне нужно определить размер MemoryStream, как я могу получить его из Bitmap?

Это должно быть просто отлично; Вы испытываете конкретные проблемы? Pieter van Ginkel

Ваш Ответ

2   ответа
15

. в частности, распределение памяти обычно от вашего имени управляется средой выполнения .NET. Обычно вам не нужно выделять память самостоятельно.

Однако иногда вам нужно сообщить среде выполнения, когда вы закончили с памятью, используяClose() или жеDispose(),using оператор может быть использован для оборачивания ресурса, такого какMemoryStream сообщить среде выполнения, что память может быть восстановлена.

Спасибо, теперь я думаю, что это ясно. Я планировал сохранить поток в своем классе во время работы, но мне кажется, что я должен сохранять его только во время процесса, а не сохранять его все время, пока мое приложение работает. Я думал, что лучше сохранить изображение в виде потока памяти, а не растровое изображение. Joseph
6

Вы можете получить размер впоследствии сmemoryStream.Length.

После того, как вы сделали то, что вам нужно с вашимmemoryStream, обязательно утилизируйте его (или заверните вusing заявление).

Спасибо, теперь я думаю, что это ясно. Я планировал сохранить поток в своем классе во время работы, но мне кажется, что я должен сохранять его только во время процесса, а не сохранять его все время, пока мое приложение работает. Я думал, что лучше сохранить изображение в виде потока памяти, а не растровое изображение. Joseph

Похожие вопросы