LEADTOOLS For .NET Class Library Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.28
Acquiring Still Image From Streaming Video
Take the following steps to create and run a program that acquires a still image from a WIA video stream.
  1. Start Visual Studio .NET.
  2. Choose File->New->Project… from the menu.
  3. In the New Project dialog box, choose either "Visual C# Projects" or "Visual Basic Projects" in the Projects Type List, and choose "Windows Application " in the Templates List.
  4. Type the project name as "Acquiring Still Image From Streaming Video" in the Project Name field, and then choose OK. If desired, type a new location for your project or select a directory using the Browse button, and then choose OK.
  5. In the "Solution Explorer" window, right-click on the "References" folder, and select "Add Reference…" from the context menu. In the "Add Reference" dialog box, select the ".NET" tab and browse to the "<LEADTOOLS_INSTALLDIR>\Bin\DotNet\Win32" folder and select the following DLL:
    • Leadtools.Wia.dll
    Click the Select button and then press the OK button to add the above DLL to the application.
  6. Go to the toolbox (View->Toolbox) and Drag and drop 4 button controls to the top of the form and set the following properties for them:
    Text Name
    Select Video Device btnSelectVideoDevice
    Start Video Preview btnStartVideoPreview
    Acquire Image From Video btnAcquireImageFromVideo
    Stop Video Preview btnStopVideoPreview
  7. Switch to Form1 code view (right-click Form1 in the solution explorer then select View Code ) and add the following lines at the beginning of the file:

    [Visual Basic]

                Imports Leadtools.Wia
                
    
    [C#]
                using Leadtools.Wia;
                
    
  8. Declare the following private variable:

    [Visual Basic]

                Private WithEvents session As WiaSession
                
    
    [C#]
                private WiaSession session;
                
    
  9. Add an event handler to the Form1 Load event and code it as follows:

    [Visual Basic]

                Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                   Try
                      session = new WiaSession
                      session.Startup(WiaVersion.Version1)
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub
                
    
    [C#]
                private void Form1_Load(object sender, System.EventArgs e)
                {
                   try
                   {
                      session = new WiaSession();
                      session.Startup(WiaVersion.Version1);
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  10. Add an event handler to the Form1 Closing event and code it as follows:

    [Visual Basic]

                Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
                   Try
                      session.Shutdown()
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub   
                
    
    [C#]
                private void Form1_FormClosing(object sender, FormClosingEventArgs e)
                {
                   try
                   {
                      session.Shutdown();
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  11. Add an event handler to the btnSelectVideoDevice Click event and code it as follows:

    [Visual Basic]

                Private Sub btnSelectVideoDevice_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectVideoDevice.Click
                   Try
                      session.SelectDeviceDlg(Me, WiaDeviceType.StreamingVideo, WiaSelectSourceFlags.NoDefault)
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub
                
    
    [C#]
                private void btnSelectVideoDevice_Click(object sender, System.EventArgs e)
                {
                   try
                   {
                      session.SelectDeviceDlg(this, WiaDeviceType.StreamingVideo, WiaSelectSourceFlags.NoDefault);
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  12. Add an event handler to the btnStartVideoPreview Click event and code it as follows:

    [Visual Basic]

                Private Sub btnStartVideoPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartVideoPreview.Click
                   Try
                      session.StartVideoPreview(Me, false)
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub   
                
    
    [C#]
                private void btnStartVideoPreview_Click(object sender, System.EventArgs e)
                {
                   try
                   {
                      session.StartVideoPreview(this, false);
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  13. Add an event handler to the btnAcquireImageFromVideo Click event and code it as follows:

    [Visual Basic]

                Private Sub btnAcquireImageFromVideo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAcquireImageFromVideo.Click
                   Try
                      Dim strMsg As String
                      session.AcquireImageFromVideo()
                      strMsg = String.Format("Acquired still image was saved to:{0}{1}", Constants.vbLf, session.TakenPictureFileName)
                      MessageBox.Show(strMsg, "Acquired still image path")
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub
                
    
    [C#]
                private void btnAcquireImageFromVideo_Click(object sender, System.EventArgs e)
                {
                   try
                   {
                      string strMsg;
                      session.AcquireImageFromVideo();
                      strMsg = string.Format("Acquired still image was saved to:\n{0}", session.TakenPictureFileName);
                      MessageBox.Show(strMsg, "Acquired still image path");
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  14. Add an event handler to the btnStopVideoPreview Click event and code it as follows:

    [Visual Basic]

                Private Sub btnStopVideoPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopVideoPreview.Click
                   Try
                      session.EndVideoPreview()
                   Catch ex As Exception
                      MessageBox.Show(ex.Message)
                   End Try
                End Sub   
                
    
    [C#]
                private void btnStopVideoPreview_Click(object sender, System.EventArgs e)
                {
                   try
                   {
                      session.EndVideoPreview();
                   }
                   catch (Exception ex)
                   {
                      MessageBox.Show(this, ex.Message);
                   }
                }
                
    
  15. Build, and Run the program to test it.