// FrameSave.cpp: implementation of the CFrameSave class.
|
//
|
//////////////////////////////////////////////////////////////////////
|
|
#include "stdafx.h"
|
#include "InspectionBuffer.h"
|
|
#ifdef _DEBUG
|
#undef THIS_FILE
|
static char THIS_FILE[]=__FILE__;
|
#define new DEBUG_NEW
|
#endif
|
|
//////////////////////////////////////////////////////////////////////
|
// Construction/Destruction
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
CFrameSave::CFrameSave(CString &strDir_, int startFrame, int width, int height) : strDir(strDir_), iStartFrame(startFrame)
|
{
|
pImageFileHeader= new stImageFileHeader;
|
pImageFileHeader->ChangeSize(width, height);
|
}
|
|
CFrameSave::~CFrameSave()
|
{
|
if(pImageFileHeader)
|
delete pImageFileHeader;
|
}
|
|
void CFrameSave::SaveFrame(BYTE *m_pData, int iScan, int iFrame, int cell, int bottom)
|
{
|
CFile file;
|
CString fileName;
|
fileName.Format(_T("%s\\%02d_%04d_%02d_%03d.bmp"), strDir.GetBuffer(100), iScan, iFrame- iStartFrame, cell, bottom);
|
|
file.Open(fileName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
|
file.Write(&pImageFileHeader->fileHeader, pImageFileHeader->fileHeader.bfOffBits);
|
// file.Write(&pImageFileHeader->fileHeader, sizeof(BITMAPFILEHEADER));
|
// file.Write(&pImageFileHeader->infoHeader, sizeof(BITMAPINFOHEADER));
|
// file.Write(pImageFileHeader->quad, sizeof(RGBQUAD)*256);
|
|
file.Write(m_pData, pImageFileHeader->infoHeader.biSizeImage);
|
file.Close();
|
}
|
void CFrameSave::SaveFrame(BYTE *m_pData, int iFrame)
|
{
|
CFile file;
|
CString fileName;
|
fileName.Format(_T("%s\\%04d.bmp"), strDir.GetBuffer(100), iFrame- iStartFrame);
|
|
file.Open(fileName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
|
file.Write(&pImageFileHeader->fileHeader, pImageFileHeader->fileHeader.bfOffBits);
|
// file.Write(&pImageFileHeader->fileHeader, sizeof(BITMAPFILEHEADER));
|
// file.Write(&pImageFileHeader->infoHeader, sizeof(BITMAPINFOHEADER));
|
// file.Write(pImageFileHeader->quad, sizeof(RGBQUAD)*256);
|
|
file.Write(m_pData, pImageFileHeader->infoHeader.biSizeImage);
|
file.Close();
|
}
|