Gets a device independent bitmap during a
CaptureMode.Still capture.
Syntax
Visual Basic (Declaration) | |
---|
Public Overridable Function GetStillDIB( _
ByVal timeOut As Integer _
) As IntPtr |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As CaptureCtrl
Dim timeOut As Integer
Dim value As IntPtr
value = instance.GetStillDIB(timeOut) |
Parameters
- timeOut
- A value containing the maximum time to wait for the image, in milliseconds.
Return Value
System.IntPtr
Example
Visual Basic | Copy Code |
---|
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 17\Media"
End Class |
C# | Copy Code |
---|
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 capture device 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;
}
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also