Leadtools.Multimedia Namespace > CaptureCtrl Class : CaptureImage Method |
public virtual Image CaptureImage()
'Declaration Public Overridable Function CaptureImage() As Image
'Usage Dim instance As CaptureCtrl Dim value As Image value = instance.CaptureImage()
public virtual Image CaptureImage()
function Leadtools.Multimedia.CaptureCtrl.CaptureImage()
public: virtual Image^ CaptureImage();
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 picture. 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 _result As Boolean = False Public _form As CaptureCtrlForm = New CaptureCtrlForm() Public Sub CaptureImageExample() ' reference the capture control Dim capturectrl As CaptureCtrl = _form.CaptureCtrl Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi") Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CaptureImageExample.jpg") Try ' set the video capture device, use your capture device name here If capturectrl.VideoDevices("USB") Is Nothing Then Throw New Exception("No USB video device available") End If capturectrl.VideoDevices("USB").Selected = True ' capture the image Dim image As Image = capturectrl.CaptureImage() If Not image Is Nothing Then image.Save(outFile, ImageFormat.Jpeg) End If ' stop the capture capturectrl.StopCapture() ' check for the capture file and set the result If File.Exists(Path.Combine(Directory.GetCurrentDirectory(), outFile)) Then _result = True End If Catch e1 As Exception _result = False End Try ' we'll loop on the state and pump messages for this example. ' but you should not need to if running from a Windows Forms application. Do While capturectrl.State = CaptureState.Running Application.DoEvents() Loop End Sub Public Sub CaptureImage_Helper(ByVal sender As Object, ByVal e As EventArgs) ' set result _result = True 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 CaptureImageExample() { // reference the capture control CaptureCtrl capturectrl = _form.CaptureCtrl; string inFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_Source.avi"); string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_CaptureImageExample.jpg"); try { // set the video capture device, use your capture device name here if (capturectrl.VideoDevices["USB"] == null) throw new Exception("No USB video device available"); capturectrl.VideoDevices["USB"].Selected = true; // capture the image Image image = capturectrl.CaptureImage(); if (image != null) image.Save(outFile, ImageFormat.Jpeg); // stop the capture capturectrl.StopCapture(); // check for the capture file and set the result if (File.Exists(Path.Combine(Directory.GetCurrentDirectory(), outFile))) _result = true; } catch (Exception) { _result = false; } // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (capturectrl.State == CaptureState.Running) Application.DoEvents(); } public void CaptureImage_Helper(object sender, EventArgs e) { // set result _result = true; } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; }
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