using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Camera; namespace Test { public partial class Form1 : Form { private Camera.Camera _camera; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { _camera = new Camera.Camera(); _camera.ImageCaptured += Camera_ImageCaptured; } private void Camera_ImageCaptured(object sender, ImageEventArgs e) { System.Diagnostics.Debug.WriteLine("Form1: 收到图像事件"); if (InvokeRequired) { Invoke(new Action(UpdatePictureBox), e.Image); } else { UpdatePictureBox(e.Image); } } private void UpdatePictureBox(Image image) { System.Diagnostics.Debug.WriteLine("Form1: 更新图像, Size=" + image.Width + "x" + image.Height); Bitmap bitmap = new Bitmap(image); pictureBox1.Image = bitmap; pictureBox1.Refresh(); } private void button1_Click(object sender, EventArgs e) { if (button1.Text == "获取摄像头图像") { try { _camera.Start(); button1.Text = "停止获取"; } catch (Exception ex) { MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { button1.Text = "获取摄像头图像"; _camera.Stop(); } } private void button2_Click(object sender, EventArgs e) { _camera.SetConfigPath(@"D:\YeXian\EasyTest\EasyTest\bin\Debug\生产测试\TCM232V0.8_自动\Config"); Setting settingForm = new Setting(); settingForm.SetCamera(_camera); if (_camera.GetCurrentImage() != null) { settingForm.SetImage(_camera.GetCurrentImage()); } settingForm.ShowDialog(); } protected override void OnFormClosing(FormClosingEventArgs e) { _camera.Stop(); base.OnFormClosing(e); } } }