IltmmConvert::get_EnableStillCapture Example for C++

// 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 20.0.2019.3.12
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help