Leadtools.Multimedia Namespace > PlayCtrl Class : GetStillImage Method |
'Usage Dim instance As PlayCtrl Dim timeOut As Integer Dim value As Image value = instance.GetStillImage(timeOut)
function Leadtools.Multimedia.PlayCtrl.GetStillImage( timeOut )
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.
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 175\Media"; End Class
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 175\Media"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2