CAVIGenerator::CAVIGenerator(LPCTSTR sFileName, LPBITMAPINFOHEADER lpbih, DWORD dwRate) : m_sFile(sFileName), m_dwRate(dwRate), m_pAVIFile(NULL), m_pStream(NULL), m_pStreamCompressed(NULL) { MakeExtAvi(); SetBitmapHeader(lpbih); }
CAVIGenerator::CAVIGenerator(LPCTSTR sFileName, LPBITMAPINFOHEADER lpbih) :m_pAVIFile(NULL), m_pStream(NULL), m_pStreamCompressed(NULL), released(false),m_dwRate(10) { _tcscpy_s(m_sFile,sFileName); MakeExtAvi(); SetBitmapHeader(lpbih); }
CAVIGenerator::CAVIGenerator(LPCTSTR sFileName, CView* pView, DWORD dwRate) : m_sFile(sFileName), m_dwRate(dwRate), m_pAVIFile(NULL), m_pStream(NULL), m_pStreamCompressed(NULL) { MakeExtAvi(); SetBitmapHeader(pView); }
/////////////////////////////////////// // Create a DIB object /////////////////////////////////////// BOOL CDib::NewDIBObject(int biWidth, int biHeight) { int binfoSize; // Delete any existing stuff. FreeCDib(); // Allocate memory for the header binfoSize = (sizeof(BITMAPINFOHEADER) + 256*sizeof(RGBQUAD)); lpbinfo = (BITMAPINFO*)GlobalAllocPtr(GMEM_MOVEABLE,binfoSize); if (!lpbinfo) return FALSE; // Fill in the header info. SetBitmapHeader(biWidth, biHeight); // set the image boundimng rectangle SetBounds(); // Fill in the default color palette SetDefaultPalette(); // Allocate image memory (DWORD) aligned. int lpbitsSize = ((biWidth + 3) & ~3) * biHeight; lpBits = (BYTE*)GlobalAllocPtr(GMEM_MOVEABLE, lpbitsSize); if (!lpBits) { FreeCDib(); return FALSE; } // Fill the image with ZEROs (black) UINT bindex; for (bindex = 0; bindex < (UINT)lpbitsSize; bindex++) lpBits[bindex] = 0; return TRUE; }