Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _videoprocamp As VideoProcAmp
Public _outFile As String = Path.Combine(LEAD_VARS.MediaDir, "VideoProcAmp_SetAutoValueExample.avi")
' this example demonstrates how to set an auto value on the
' video proc amp object.
Public Sub SetManualValueExample()
' reference the capture control
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
Try
' select the first device with analog in it's name
' Replace "Analog" with your video capture device name
If capturectrl.VideoDevices("Logitech") Is Nothing Then
Throw New Exception("No Logitech video devices available!")
End If
capturectrl.VideoDevices("Logitech").Selected = True
' set a video compressor
capturectrl.VideoCompressors.Mpeg2.Selected = True
' set the target file
capturectrl.TargetFile = _outFile
' reference the video proc amp
_videoprocamp = capturectrl.VideoProcAmp
' try to set the auto value
If Not _videoprocamp Is Nothing Then
' set the saturation to the maximum supported value
_videoprocamp.Saturation = _videoprocamp.SaturationInfo.Max
' set the sharpness to the minimum value
_videoprocamp.Sharpness = _videoprocamp.SharpnessInfo.Min
' set the white balace to the maximum value
_videoprocamp.WhiteBalance = _videoprocamp.WhiteBalanceInfo.Max
' set the hue to the minimum value
' later in the timer we will bump this value using the stepDelta
_videoprocamp.Hue = _videoprocamp.HueInfo.Min
' subscribe to the capture progress event
' so we can play with the hue setting above
AddHandler capturectrl.Progress, AddressOf CaptureCtrl_Progress
End If
' check for video capture available
If capturectrl.IsModeAvailable(CaptureMode.Video) Then
' capture 15 seconds of video
capturectrl.UseTimeLimit = True
capturectrl.TimeLimit = 15
' subscribe to the compete event
AddHandler capturectrl.Complete, AddressOf CaptureCtrl_Complete
' start the capture
capturectrl.StartCapture(CaptureMode.Video)
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
Private Sub CaptureCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
If Not _videoprocamp Is Nothing Then
' roll the hue value around while capturing
_videoprocamp.Hue += _videoprocamp.HueInfo.StepDelta
' reset it to the minimum if we reach the max
If _videoprocamp.Hue >= _videoprocamp.HueInfo.Max Then
_videoprocamp.Hue = _videoprocamp.HueInfo.Min
End If
End If
End Sub
Private Sub CaptureCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
' set the result to what we expect
_result = File.Exists(_outFile)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"
End Class
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public VideoProcAmp _videoprocamp;
public string _outFile = Path.Combine(LEAD_VARS.MediaDir, "VideoProcAmp_SetAutoValueExample.avi");
// this example demonstrates how to set an auto value on the
// video proc amp object.
public void SetManualValueExample()
{
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
try
{
// select the first device with analog in it's name
// Replace "Analog" with your video capture device name
if (capturectrl.VideoDevices["Logitech"] == null)
throw new Exception("No Logitech video devices available!");
capturectrl.VideoDevices["Logitech"].Selected = true;
// set a video compressor
capturectrl.VideoCompressors.Mpeg2.Selected = true;
// set the target file
capturectrl.TargetFile = _outFile;
// reference the video proc amp
_videoprocamp = capturectrl.VideoProcAmp;
// try to set the auto value
if (_videoprocamp != null)
{
// set the saturation to the maximum supported value
_videoprocamp.Saturation = _videoprocamp.SaturationInfo.Max;
// set the sharpness to the minimum value
_videoprocamp.Sharpness = _videoprocamp.SharpnessInfo.Min;
// set the white balace to the maximum value
_videoprocamp.WhiteBalance = _videoprocamp.WhiteBalanceInfo.Max;
// set the hue to the minimum value
// later in the timer we will bump this value using the stepDelta
_videoprocamp.Hue = _videoprocamp.HueInfo.Min;
// subscribe to the capture progress event
// so we can play with the hue setting above
capturectrl.Progress += new ProgressEventHandler(CaptureCtrl_Progress);
}
// check for video capture available
if (capturectrl.IsModeAvailable(CaptureMode.Video))
{
// capture 15 seconds of video
capturectrl.UseTimeLimit = true;
capturectrl.TimeLimit = 15;
// subscribe to the compete event
capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);
// start the capture
capturectrl.StartCapture(CaptureMode.Video);
}
}
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();
}
void CaptureCtrl_Progress(object sender, ProgressEventArgs e)
{
if (_videoprocamp != null)
{
// roll the hue value around while capturing
_videoprocamp.Hue += _videoprocamp.HueInfo.StepDelta;
// reset it to the minimum if we reach the max
if (_videoprocamp.Hue >= _videoprocamp.HueInfo.Max)
_videoprocamp.Hue = _videoprocamp.HueInfo.Min;
}
}
void CaptureCtrl_Complete(object sender, EventArgs e)
{
// set the result to what we expect
_result = File.Exists(_outFile);
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}