Leadtools.MediaFoundation Namespace > PlayCtrl Class : GetStillImage Method |
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _form As PlayCtrlForm = New PlayCtrlForm() Public _playctrl As PlayCtrl = Nothing Public _result As Boolean = False Public _inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi") Public _outFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_GetStillImageExample.jpg") Public Sub GetStillImageExample() ' reference the play control _playctrl = _form.PlayCtrl Try ' set the test timer on our form _form.TestTimer.Interval = 2000 ' wait 2 seconds after start AddHandler _form.TestTimer.Tick, AddressOf GetStillImage_Helper ' set input media file _playctrl.SourceFile = _inFile ' set the timer on _form.TestTimer.Start() 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 _playctrl.State = PlayState.Running Application.DoEvents() Loop ' check for the capture file and set the result If File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile)) Then _result = True End If End Sub Public Sub GetStillImage_Helper(ByVal sender As Object, ByVal e As EventArgs) ' get a still image Dim image As Image = _playctrl.GetStillImage(-1) If Not image Is Nothing Then image.Save(_outFile, ImageFormat.Jpeg) End If ' stop the capture _playctrl.Stop() 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.MediaFoundation; using LeadtoolsMediaFoundationExamples.Fixtures; public PlayCtrlForm _form = new PlayCtrlForm(); public PlayCtrl _playctrl = null; public bool _result = false; public string _inFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi"); public string _outFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_GetStillImageExample.jpg"); public void GetStillImageExample() { // reference the play control _playctrl = _form.PlayCtrl; try { // set the test timer on our form _form.TestTimer.Interval = 2000; // wait 2 seconds after start _form.TestTimer.Tick += GetStillImage_Helper; // set input media file _playctrl.SourceFile = _inFile; // set the timer on _form.TestTimer.Start(); } 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 (_playctrl.State == PlayState.Running) Application.DoEvents(); // check for the capture file and set the result if (File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile))) _result = true; } public void GetStillImage_Helper(object sender, EventArgs e) { // get a still image Image image = _playctrl.GetStillImage(-1); if (image != null) image.Save(_outFile, ImageFormat.Jpeg); // stop the capture _playctrl.Stop(); } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }