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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.