LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
VideoCaptureFormats Property
See Also 
Leadtools.Multimedia Namespace > CaptureCtrl Class : VideoCaptureFormats Property



Gets the VideoCaptureFormats object that contains all the video formats available for the current capture device.

Syntax

Visual Basic (Declaration) 
Public Overridable ReadOnly Property VideoCaptureFormats As VideoFormats
Visual Basic (Usage)Copy Code
Dim instance As CaptureCtrl
Dim value As VideoFormats
 
value = instance.VideoCaptureFormats
C# 
public virtual VideoFormats VideoCaptureFormats {get;}
C++/CLI 
public:
virtual property VideoFormats^ VideoCaptureFormats {
   VideoFormats^ get();
}

Property Value

A VideoFormats object.

Example

Visual BasicCopy Code
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _result As Boolean = False
Public Sub VideoFormatExample()
  ' reference the capture control
  Dim capturectrl As CaptureCtrl = _form.CaptureCtrl

  Dim count As Integer, compression As Integer = 0, bits As Integer = 0, width As Integer = 0, height As Integer = 0
  Dim found As Integer, selected As Integer = -1

  ' set a video device, use the name of your device here
  If Not capturectrl.VideoDevices("USB") Is Nothing Then
     capturectrl.VideoDevices("USB").Selected = True
  End If

  ' reference the videoformats property
  Dim videoformats As VideoFormats = capturectrl.VideoCaptureFormats

  Try
     ' get count of available video formats
     count = videoformats.Count

     ' enumerate formats and select one
     For Each vf As VideoFormat In videoformats
       ' get the properties
       bits = vf.BitCount
       compression = vf.Compression
       width = vf.Width
       height = vf.Height

       ' select the format if it matches some criteria
       If bits = 16 AndAlso width = 640 AndAlso height = 480 Then
         vf.Selected = True
         Exit For
       End If
     Next vf

     ' reset the current item
     videoformats.Reset()

     ' get the currently selected format
     selected = videoformats.Selection

     ' find a format based on subtype name, width and height (YUY2 320 x 240 video)
        found = videoformats.IndexOf(Leadtools.Multimedia.Constants.MEDIASUBTYPE_YUY2, 320, 240)

     ' our found format is not selected, so select it
     If found <> selected Then
       videoformats.Selection = found
     End If

     ' get the new selected format
     selected = videoformats.Selection

     ' set our result based on what we expect
     _result = (count > 0 AndAlso selected = found)
  Catch e1 As Exception
     _result = False
  End Try
End Sub
C#Copy Code
public CaptureCtrlForm _form = new CaptureCtrlForm();
public bool _result = false;
public void VideoFormatExample()
{
   // reference the capture control
   CaptureCtrl capturectrl = _form.CaptureCtrl;

   int count, compression = 0, bits = 0, width = 0, height = 0;
   int found, selected = -1;

   // set a video device, use the name of your device here
   if (capturectrl.VideoDevices["USB"] != null)
      capturectrl.VideoDevices["USB"].Selected = true;

   // reference the videoformats property
   VideoFormats videoformats = capturectrl.VideoCaptureFormats;

   try
   {
      // get count of available video formats
      count = videoformats.Count;

      // enumerate formats and select one
      foreach (VideoFormat vf in videoformats)
      {
         // get the properties
         bits = vf.BitCount;
         compression = vf.Compression;
         width = vf.Width;
         height = vf.Height;

         // select the format if it matches some criteria
         if (bits == 16 && width == 640 && height == 480)
         {
            vf.Selected = true;
            break;
         }
      }

      // reset the current item
      videoformats.Reset();

      // get the currently selected format
      selected = videoformats.Selection;

      // find a format based on subtype name, width and height (YUY2 320 x 240 video)
      found = videoformats.IndexOf(Constants.MEDIASUBTYPE_YUY2, 320, 240);

      // our found format is not selected, so select it
      if (found != selected)
         videoformats.Selection = found;

      // get the new selected format
      selected = videoformats.Selection;

      // set our result based on what we expect
      _result = (count > 0 && selected == found);
   }
   catch (Exception)
   {
      _result = false;
   }
}

Remarks

The VideoFormats indexer obtains an VideoFormat object for each of the supported video formats. The VideoFormat properties of each video format contain information about the specific video format.

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