Frame Grabber SDK (Windows-C) Developer Guide
{
return;
}
fwrite(pBitMapBuf, 1, nBufferSize, pImageFile);
fclose(pImageFile);
}
}
// Image acquisition thread.
unsigned int __stdcall GrabbingThread(void* pUser)
{
if (pUser)
{
STREAMHANDLE
hStream = (STREAMHANDLE)pUser;
MV_FG_BUFFER_INFO stFrameInfo = { 0 }; // Image information
int
nRet = 0;
MV_FG_SAVE_BITMAP_INFO stSaveBitmapInfo = {0}; // BMP image saving information
memset(&stSaveBitmapInfo, 0, sizeof(MV_FG_SAVE_BITMAP_INFO));
// Start image acquisition.
nRet = MV_FG_StartAcquisition(hStream);
if (MV_FG_SUCCESS != nRet)
{
printf("Start acquistion failed! %#x\n", nRet);
return nRet;
}
g_bExit = false;
while (!g_bExit)
{
// Get the buffer information of a frame.
nRet = MV_FG_GetFrameBuffer(hStream, &stFrameInfo, TIMEOUT);
if (MV_FG_SUCCESS != nRet)
{
printf("Get frame buffer info failed! %#x\n", nRet);
continue;
}
else
{
printf("FrameNumber:%2I64d%, Width:%d, Height:%d\n", stFrameInfo.nFrameID,
stFrameInfo.nWidth, stFrameInfo.nHeight);
if ((stFrameInfo.pBuffer) && (0 < stFrameInfo.nFilledSize))
{
stSaveBitmapInfo.stInputImageInfo.pImageBuf = (unsigned
char*)stFrameInfo.pBuffer;
stSaveBitmapInfo.stInputImageInfo.nImageBufLen = stFrameInfo.nFilledSize;
stSaveBitmapInfo.stInputImageInfo.nHeight = stFrameInfo.nHeight;
stSaveBitmapInfo.stInputImageInfo.nWidth = stFrameInfo.nWidth;
stSaveBitmapInfo.stInputImageInfo.enPixelType = stFrameInfo.enPixelType;
unsigned int nSize = stFrameInfo.nHeight * stFrameInfo.nWidth * 4;
77
    "