public int Contrast { get; set; }
int
This value should be within the ContrastInfo object's VideoProcAmpInfo.Min and VideoProcAmpInfo.Max property range values.
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 Logitech in it's name
// Replace "Logitech" 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:\LEADTOOLS22\Media";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document