Leadtools.Multimedia Namespace > CaptureCtrl Class : CaptureDIB Method |
public virtual IntPtr CaptureDIB()
'Declaration Public Overridable Function CaptureDIB() As IntPtr
'Usage Dim instance As CaptureCtrl Dim value As IntPtr value = instance.CaptureDIB()
public virtual IntPtr CaptureDIB()
function Leadtools.Multimedia.CaptureCtrl.CaptureDIB()
public: virtual IntPtr CaptureDIB();
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 graph by calling StopCapture.
Note: The frame data is retrieved from the underlying graph after the processing filters. If the capture needs to occur before the processing is completed use the LeadVideoCallBackFilter and place it first in the collection of processing filters.
Public _form As CaptureCtrlForm = New CaptureCtrlForm() Public _capturectrl As CaptureCtrl = Nothing Public _result As Boolean = False Private _dibFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CaptureDIBExample.dib") Public Sub CaptureDIBExample() ' reference the capture control _capturectrl = _form.CaptureCtrl Try ' select a video capture device If _capturectrl.VideoDevices("USB") Is Nothing Then Throw New Exception("No USB video device available") End If _capturectrl.VideoDevices("USB").Selected = True ' set a video compressor for the capture file _capturectrl.VideoCompressors.Mpeg4.Selected = True ' set still delay _capturectrl.CaptureStillDelay = 1000 ' capture DIB Dim DIB As IntPtr = _capturectrl.CaptureDIB() ' check for the captured DIB handle If (DIB <> Nothing) Then _result = True End If ' free allocated global memory Marshal.FreeHGlobal(DIB) Catch e1 As Exception _result = False End Try End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; End Class
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 device's name here if (capturectrl.VideoDevices["Logitech"] == null) throw new Exception("No Logitech video device available"); capturectrl.VideoDevices["Logitech"].Selected = true; // set a delay of 1 second to ensure 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; } }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2