fileName
A string that represents the name to use when saving the snapshot.
timeOut
The timeout period, in milliseconds. This method will fail if it was not able to take a DIB in the specified time. Use -1 to wait indefinitely until a DIB is snapped.
Saves a snapshot from the running stream to a file. The file is saved as a DIB using the specified filename and timeout period. This method blocks (does not return) until the timeout occurs or the DIB is snapped.
using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public PlayCtrlForm _form = new PlayCtrlForm();
public PlayCtrl _playctrl = null;
public bool _result = false;
string _inFile = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi");
string _outFile = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SaveStillDIB.dib");
public void SaveStillDIBExample()
{
// reference the play control
_playctrl = _form.PlayCtrl;
try
{
// set a timer on the form to make the still DIB
_form.TestTimer.Interval = 5000;
_form.TestTimer.Tick += new EventHandler(SaveStillDIB_Helper);
// set the source and target files
_playctrl.SourceFile = _inFile;
// now start the test timer for the still DIB 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 SaveStillDIB_Helper(object sender, EventArgs e)
{
// cancel the timer
_form.TestTimer.Stop();
// save the still DIB to a file
_playctrl.SaveStillDIB(_outFile, -1);
// check for the capture file and set the result
if (File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile)))
_result = true;
// stop playback
_playctrl.Stop();
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\LEADTOOLS21\Media";
}
Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _form As PlayCtrlForm = New PlayCtrlForm()
Public _playctrl As PlayCtrl = Nothing
Public _result As Boolean = False
Private _inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi")
Private _outFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SaveStillDIB.dib")
Public Sub SaveStillDIBExample()
' reference the play control
_playctrl = _form.PlayCtrl
Try
' set a timer on the form to make the still DIB
_form.TestTimer.Interval = 5000
AddHandler _form.TestTimer.Tick, AddressOf SaveStillDIB_Helper
' set the source and target files
_playctrl.SourceFile = _inFile
' now start the test timer for the still DIB 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 SaveStillDIB_Helper(ByVal sender As Object, ByVal e As EventArgs)
' cancel the timer
_form.TestTimer.Stop()
' save the still DIB to a file
_playctrl.SaveStillDIB(_outFile, -1)
' check for the capture file and set the result
If File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile)) Then
_result = True
End If
' stop playback
_playctrl.Stop()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\LEADTOOLS21\Media"
End Class
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