从CCD中获得图象数据,存在缓冲区中,目标是将其保存至JPEG格式的文件,因此想先将其保存到BITMAP里面再转换为JPEG,
主要目标是将缓冲区的图象保存至BMP文件
   aStream:=TMemoryStream.Create;
   aStream.WriteBuffer(bfh,sizeof(BITMAPFILEHEADER));
   aStream.WriteBuffer(m_pBitmapInfo^,sizeof(BITMAPINFOHEADER));
   aStream.WriteBuffer(m_pImageBuffer[BufferIndex]^,dwImageSize);   //aStream.SaveToFile(DestName);
   aBitmap:=TBitmap.Create;   aBitmap.LoadFromStream(aStream);
   showmessage(inttostr(aBitmap.Width));
   aBitmap.SaveToFile(DestName);  
如果直接从STREAM中保存至BMP文件是可以的,但如果像上面这样用aBitmap.LoadFromStream(aStream);后似乎BITMAP不载入任何东西,生成的BITMAP文件是0字节。
但如果用aStream从文件载入后再用aBitmap.LoadFromStream(aStream);就没有问题
   aStream:=TMemoryStream.Create;
   aStream.LoadFromFile(DestName);   aBitmap:=TBitmap.Create;
   aBitmap.LoadFromStream(aStream);
   //showmessage('Bitmap Width='+inttostr(aBitmap.Width));
   aBitmap.SaveToFile('0m.bmp');
直接用aStream.WriteBuffer和aStream.LoadFromFile有什么区别吗,两者读入的字节数是一样的。
会不会是aBitmap.loadfromStream的问题????