mrDarker
2025-08-13 6ba20a51d17d6be2cf9886f3622863e95c2994fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 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();
}