殺蟲0116

This commit is contained in:
JEFF 2025-01-16 20:19:38 +08:00
parent bd94bc1f45
commit 987ef1083c
2 changed files with 7 additions and 2 deletions

View File

@ -17,6 +17,7 @@ namespace Camera_connect
private readonly List<Camera> allCameras = new List<Camera>();
private readonly PixelDataConverter pxConvert = new PixelDataConverter();
private bool isGrabbing;
private bool isCameraOpen = false;
public BaslerCamera(Main form)
{
@ -27,6 +28,7 @@ namespace Camera_connect
{
var allCameraInfos = CameraFinder.Enumerate();
allCameras.Clear();
if (isCameraOpen == true) return;
foreach (var cameraInfo in allCameraInfos)
{
@ -36,6 +38,7 @@ namespace Camera_connect
camera.StreamGrabber.ImageGrabbed += StreamGrabber_ImageGrabbed;
camera.Open();
allCameras.Add(camera);
isCameraOpen = true; ;
}
isGrabbing = true;
@ -92,6 +95,7 @@ namespace Camera_connect
allCameras[0].StreamGrabber.Stop();
CameraImageEvent = null; // 解除訂閱事件,防止影像更新
isGrabbing = false;
isCameraOpen = false;
}
else
{

View File

@ -125,7 +125,6 @@ namespace Camera_connect
}
}
private void bt_OneShot_Click(object sender, EventArgs e)
{
try
@ -145,6 +144,7 @@ namespace Camera_connect
}
else if (selectedCamera == "Basler")
{
if (isKeepShotting == true) return;
if (Basler != null)
{
Basler.OneShot(); // 單次拍攝
@ -164,7 +164,7 @@ namespace Camera_connect
private void bt_KeepShot_Click(object sender, EventArgs e)
{
string? selectedCamera = comboBox1.SelectedItem?.ToString();
if (isKeepShotting == true) return;
if (selectedCamera == "IDS")
{
// IDS 相機的連續拍攝邏輯
@ -205,6 +205,7 @@ namespace Camera_connect
}
else if (selectedCamera == "Basler")
{
if (Basler != null)
{
Basler.Stop();