Leadtools.Multimedia Namespace > CaptureCtrl Class : GetStillDIB Method |
'Usage Dim instance As CaptureCtrl Dim timeOut As Integer Dim value As IntPtr value = instance.GetStillDIB(timeOut)
function Leadtools.Multimedia.CaptureCtrl.GetStillDIB( timeOut )
If the method fails, an error is raised. For more information, refer to the Error Codes.
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_GetStillDIBExample.dib") Public Sub GetStillDIBExample() ' 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 ' start the capture _capturectrl.StartCapture(CaptureMode.Still) ' get the still DIB Dim DIB As IntPtr = _capturectrl.GetStillDIB(-1) ' stop the capture _capturectrl.StopCapture() ' 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 GetStillDIBExample() { // 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 the capture mode to still and start capturectrl.StartCapture(CaptureMode.Still); // capture device independent bitmap IntPtr dib = capturectrl.GetStillDIB(-1); // stop the capture capturectrl.StopCapture(); _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