CaptureDIB Method

Summary

Captures a device independent bitmap.

Syntax
C#
VB
C++
public virtual IntPtr CaptureDIB() 
Public Overridable Function CaptureDIB() As IntPtr 
public: 
virtual IntPtr CaptureDIB();  

Return Value

A System.IntPtr to the device independent bitmap.

Remarks

If the method succeeds, the caller must free the returned HDIB pointer by calling the Marshal.FreeHGlobal method. If the method fails, an error is raised. For more information, refer to the Error Codes. Note: Internally this method calls StartCapture with the capture mode set to CaptureMode.Still. It then waits for the current capture delay setting specified by CaptureStillDelay before capturing the still DIB. Finally, it stops the session by calling StopCapture.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(); 
 
public void CaptureDIBExample() 
{ 
   // reference the capture control 
   CaptureCtrl capturectrl = _form.CaptureCtrl; 
 
   try 
   { 
      // set the video capture device, use your capture device name here 
      if (capturectrl.VideoDevices["Logitech"] == null) 
         throw new Exception("No Logitech video device available"); 
 
      capturectrl.VideoDevices["Logitech"].Selected = true; 
 
      // let's set a delay of 1 second to insure that some capture devices 
      // have time to adjust their gain 
      capturectrl.CaptureStillDelay = 1000; 
 
      // capture device independent bitmap 
      IntPtr dib = capturectrl.CaptureDIB(); 
 
      _result = (dib != null); 
 
      //free allocated global memory 
      Marshal.FreeHGlobal(dib); 
   } 
   catch (COMException) 
   { 
      _result = false; 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As New CaptureCtrlForm() 
 
Public Sub CaptureDIBExample() 
   ' reference the capture control 
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl 
 
   Try 
      ' set the video capture device, use your capture device name here 
      If capturectrl.VideoDevices("Logitech") Is Nothing Then 
         Throw New Exception("No Logitech video device available") 
      End If 
 
      capturectrl.VideoDevices("Logitech").Selected = True 
 
      ' let's set a delay of 1 second to insure that some capture devices 
      ' have time to adjust their gain 
      capturectrl.CaptureStillDelay = 1000 
 
      ' capture device independent bitmap 
      Dim dib As IntPtr = capturectrl.CaptureDIB() 
 
      _result = (dib <> Nothing) 
 
      'free allocated global memory 
      Marshal.FreeHGlobal(dib) 
   Catch generatedExceptionName As COMException 
      _result = False 
   Catch generatedExceptionName As Exception 
      _result = False 
   End Try 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly