Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction | Help Version 19.0.2.9
|
Leadtools.MediaFoundation 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();
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 session by calling StopCapture.
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _result As Boolean = False Public _form As 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 image IsNot 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 generatedExceptionName 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. While capturectrl.State = CaptureState.Running Application.DoEvents() End While 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 19\Media" End Class
using Leadtools; using Leadtools.MediaFoundation; using LeadtoolsMediaFoundationExamples.Fixtures; 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 19\Media"; }