Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction | Help Version 19.0.2.9
|
Leadtools.Multimedia Namespace > PlayCtrl Class : SaveStillBitmap Method |
public virtual void SaveStillBitmap( string fileName, StillFormatType format, int quality, int flags, int timeOut )
'Declaration
Public Overridable Sub SaveStillBitmap( _ ByVal fileName As String, _ ByVal format As StillFormatType, _ ByVal quality As Integer, _ ByVal flags As Integer, _ ByVal timeOut As Integer _ )
'Usage
Dim instance As PlayCtrl Dim fileName As String Dim format As StillFormatType Dim quality As Integer Dim flags As Integer Dim timeOut As Integer instance.SaveStillBitmap(fileName, format, quality, flags, timeOut)
This method blocks (does not return) until the timeout occurs or the sample is snapped. The following methods can also be used to obtain still images:
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures Public _result As Boolean = False Public _form As PlayCtrlForm = New PlayCtrlForm() Public _playctrl As PlayCtrl = Nothing Public _bmpFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SaveStillBitmap.bmp") Public Sub SaveStillBitmapExample() ' input and output file names Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_ShortSource.avi") Try ' reference the convert control _playctrl = _form.PlayCtrl ' set a timer on the form to make the still bitmap _form.TestTimer.Interval = 5000 AddHandler _form.TestTimer.Tick, AddressOf SaveStillBitmap_Helper ' add an effects processor for playback _playctrl.SelectedVideoProcessors.Add(_playctrl.VideoProcessors.EFXDizzy) ' set the still tap location to Processors so that we get ' our effect applied to the still image -- you could of course ' set the tap to Source to capture the still without the applied effect _playctrl.StillTap = PlayStillTap.Processors ' set the source and target files _playctrl.SourceFile = inFile ' now start the test timer for the still capture _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 End Sub Public Sub SaveStillBitmap_Helper(ByVal sender As Object, ByVal e As EventArgs) ' cancel the timer _form.TestTimer.Stop() ' try to simulate an error condition _playctrl.SaveStillBitmap(_bmpFile, StillFormatType.BMP, 0, 0, -1) ' check for the capture file and set the result If File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _bmpFile)) Then _result = True End If _playctrl.Stop() End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media" End Class
using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; public bool _result = false; public PlayCtrlForm _form = new PlayCtrlForm(); public PlayCtrl _playctrl = null; public string _bmpFile = Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_SaveStillBitmap.bmp"); public void SaveStillBitmapExample() { // input and output file names string inFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_ShortSource.avi"); try { // reference the convert control _playctrl = _form.PlayCtrl; // set a timer on the form to make the still bitmap _form.TestTimer.Interval = 5000; _form.TestTimer.Tick += new EventHandler(SaveStillBitmap_Helper); // add an effects processor for playback _playctrl.SelectedVideoProcessors.Add(_playctrl.VideoProcessors.EFXDizzy); // set the still tap location to Processors so that we get // our effect applied to the still image -- you could of course // set the tap to Source to capture the still without the applied effect _playctrl.StillTap = PlayStillTap.Processors; // set the source and target files _playctrl.SourceFile = inFile; // now start the test timer for the still capture _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(); } public void SaveStillBitmap_Helper(object sender, EventArgs e) { // cancel the timer _form.TestTimer.Stop(); // try to simulate an error condition _playctrl.SaveStillBitmap(_bmpFile, StillFormatType.BMP, 0, 0, -1); // check for the capture file and set the result if (File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _bmpFile))) _result = true; _playctrl.Stop(); } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media"; }