2011-12-29 17 views
18

メモリまたはメモリストリームのオブジェクトのみを割り当てますか: これは問題ありませんか?ビットマップをMemoryStreamに保存する

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

MemoryStreamサイズを定義する必要がある場合、どのようにBitmapから取得できますか?

+3

これは問題ありません。あなたは特定の問題を経験していますか? –

答えて

12

.NETは管理された環境です。具体的には、通常、メモリの割り当ては.NETランタイムによって管理されます。通常は、自分でメモリを割り当てる必要はありません。

ただし、メモリを終了したときにランタイムにClose()またはDispose()を使用して通知する必要がある場合があります。 usingステートメントを使用して、MemoryStreamなどのリソースをラップすると、メモリを再利用できることをランタイムに通知できます。

+0

ありがとう、 今私はその明確だと思います。 私は仕事中にクラスにストリームを保存する予定でしたが、プロセス中にのみ保存し、アプリがいつでもライブを保持しないように思えます。 ビットマップの代わりに画像をmemorystreamとして保存する方が良いと思っていました。 – Joseph

6

メモリを事前に割り当てる必要はありません。

memoryStream.Lengthでサイズを取得できます。


あなたがあなたのmemoryStreamとに必要なものをやった後、それを配置(またはusing文でそのすべてを包む)してください。

+0

ありがとう、 今私はその明確だと思います。 私は仕事中にクラスにストリームを保存する予定でしたが、プロセス中にのみ保存し、アプリがいつでもライブを保持しないように思えます。 ビットマップの代わりに画像をmemorystreamとして保存する方が良いと思っていました。 – Joseph

関連する問題