IltmmConvert::get_EnableStillCapture Example for C++

#define MAKE_MEDIA_PATH(pFileName) (TEXT("C:\\Program Files (x86)\\LEAD Technologies\\LEADTOOLS 19\\Media\\")TEXT(pFileName)) 
// This function would be called before start the conversion process 
void BeforeConversion(IltmmConvert *pConvert) 
{ 
   long lWnd = 0; 
   ltmmSizeMode lSizeMode; 
   long lLimit, lVideoH, lVideoW, lWndLeft, lWndTop, lWndW, lWndH; 
   VARIANT_BOOL vb; 
   BSTR bstrLog; 
   pConvert->get_VideoWindowHandle(&lWnd); 
   if (lWnd) 
   { 
      // get video dimensions 
      pConvert->get_VideoWidth(&lVideoW); 
      pConvert->get_VideoHeight(&lVideoH); 
      // get window size and pos 
      pConvert->get_VideoWindowWidth(&lWndW); 
      pConvert->get_VideoWindowHeight(&lWndH); 
      pConvert->get_VideoWindowLeft(&lWndLeft); 
      pConvert->get_VideoWindowTop(&lWndTop); 
      // set the desired video window size mode 
      pConvert->get_VideoWindowSizeMode(&lSizeMode); 
      if (lSizeMode != ltmmFit && lVideoW > lWndW && lVideoH > lWndH) 
         pConvert->put_VideoWindowSizeMode(ltmmFit); 
      else if (lVideoW < lWndW && lVideoH < lWndH) 
         pConvert->put_VideoWindowSizeMode(ltmmStretch); 
      // we could change the window size and position here 
      pConvert->SetVideoWindowPos(lWndLeft, lWndTop, lWndW, lWndH); 
   } 
   // enable still capture 
   pConvert->put_EnableStillCapture(VARIANT_TRUE); 
   pConvert->get_StillCaptureLimit(&lLimit); 
   // set the limit if less than 1 sec 
   if (lLimit <= 1000) 
      pConvert->put_StillCaptureLimit(1000); 
   // get full screen mode 
   pConvert->get_FullScreenMode(&vb); 
   if (vb == VARIANT_TRUE) 
   { 
      // Just to show how to use put_FullScreenMode 
      pConvert->ToggleFullScreenMode(); 
      // Use put_FullScreenMode(VARIANT_FALSE) to turn off the full screen mode 
      pConvert->put_FullScreenMode(VARIANT_FALSE); 
   } 
   // start logging 
   bstrLog = SysAllocString(MAKE_MEDIA_PATH("convert.log")); 
   pConvert->OpenLogFile(bstrLog, ltmmLogFile_GeneralInfo); 
   SysFreeString(bstrLog); 
} 
// This function would be called to save a snapshot from the running conversion to a file 
void TakeSnapShots(IltmmConvert *pConvert) 
{ 
   static int i = 0; 
   VARIANT_BOOL vb; 
   pConvert->get_EnableStillCapture(&vb); 
   if (vb == VARIANT_TRUE) 
   { 
      WCHAR szFileName[100]; 
      wsprintf(szFileName, MAKE_MEDIA_PATH("SnapShot%d.cmp"), i++); 
      USES_CONVERSION; 
      BSTR bstFileName = SysAllocString(szFileName); 
      pConvert->SaveStillBitmap(bstFileName, ltmmConvert_StillFormat_CMP, 2, 0, -1); 
   } 
} 
// This function would be called after the conversion process is finished. 
void EndConversion(IltmmConvert *pConvert) 
{ 
   pConvert->CloseLogFile(); 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Multimedia C API Help