在WinCE设备中从MemoryStream创建位图时,内存超出异常

时间:2013-11-28 08:28:47

标签: c# bitmap windows-ce memorystream

using (MemoryStream ms = imager.CaptureImageNow().MemoryStream ) 
{
   using (Bitmap bmp = new Bitmap(ms)) // Memory Out of Exception occurs here
   {
           this.PreviewImage( bmp );

   }
}

嗨,我正在使用WinCE设备平台3.5并在创建Bitmap时获取异常内存。我的图片格式是JPEG。有没有其他方法可以避免这种异常。

2 个答案:

答案 0 :(得分:0)

我已经有了这个问题,试试这个:

byte[] imgDatas = null;
using (MemoryStream ms = imager.CaptureImageNow().MemoryStream ) 
{
    imgDatas = ms.GetBuffer();
}

ImageConverter ic = new ImageConverter();
Image img = (Image)ic.ConvertFrom(imgDatas);

using (Bitmap bmp = new Bitmap(img))
{
    this.PreviewImage( bmp );
}

答案 1 :(得分:0)

你可以试试这个:

byte[] imgDatas = null;
using (MemoryStream ms = imager.CaptureImageNow().MemoryStream ) 
{
    imgDatas = ms.GetBuffer();
}

MemoryStream msImg = new MemoryStream(imgDatas);
Bitmap bmp = new Bitmap(msImg);
msImg.Dispose();

PreviewImage(bmp);