- Start Visual Studio .NET.
- Choose File->New->Project… from the menu.
- 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.
- 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.
- 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
- 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 - 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;
- Declare the following private variable:
[Visual Basic]
Private WithEvents session As WiaSession
[C#]private WiaSession session;
- 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); } }
- 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); } }
- 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); } }
- 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); } }
- 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); } }
- 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); } }
- Build, and Run the program to test it.