Files
JoyD/Windows/CS/Framework4.0/Camera/Test/Form1.cs
2026-03-25 11:35:00 +08:00

81 lines
2.2 KiB
C#

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<Image>(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 == "获取摄像头图像")
{
button1.Text = "停止获取";
_camera.Start();
}
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);
}
}
}