CaptureImage Method

Summary

Captures a video image to a System.Drawing.Image object.

Syntax
C#
VB
C++
public virtual Image CaptureImage() 
Public Overridable Function CaptureImage() As Image 
public: 
virtual Image^ CaptureImage();  

Return Value

captured video image as a System.Drawing.Image.

Remarks

This method will capture a video image to a System.Drawing.Image object. 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.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.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 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.Multimedia 
Imports LeadtoolsMultimediaExamples.Fixtures 
 
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 20\Media" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Multimedia Assembly