| LB_SmartVision/VisionForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LB_VisionProcesses/Cameras/2DCameraForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
LB_SmartVision/VisionForm.cs
@@ -688,7 +688,7 @@ } case CameraBrand.LBCamera: { //camera = new LBCamera(); camera = new LBCamera(); break; } default: LB_VisionProcesses/Cameras/2DCameraForm.cs
@@ -390,21 +390,20 @@ if (e.Bitmap == null) return; lock (e.Bitmap) { if (this.InvokeRequired) // 检查是否需要在UI线程上调用 lock (e.Bitmap) { this.Invoke(new Action(() => if (this.InvokeRequired) // 检查是否需要在UI线程上调用 { this.Invoke(new Action(() => { onlinePictureBox.Image = e.Bitmap; })); // 递归调用自身,但这次在UI线程上 } else { onlinePictureBox.Image = e.Bitmap; })); // 递归调用自身,但这次在UI线程上 } } else { onlinePictureBox.Image = e.Bitmap; } } total.iImageCount++; try { LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
@@ -266,27 +266,27 @@ private void OnLineReceived(IntPtr pInstance, IntPtr buffer, int points) { // 实时回调处理:累积行数据 if (!isGrabbing) return; // 实时回调处理:累积行数据 if (!isGrabbing) return; int lineSize = points * Marshal.SizeOf(typeof(LBPointZA)); byte[] lineData = new byte[lineSize]; Marshal.Copy(buffer, lineData, 0, lineSize); int lineSize = points * Marshal.SizeOf(typeof(LBPointZA)); byte[] lineData = new byte[lineSize]; Marshal.Copy(buffer, lineData, 0, lineSize); lock (_bufferLock) { _lineDataBuffer.Add(lineData); _currentLineCount++; } lock (_bufferLock) { _lineDataBuffer.Add(lineData); _currentLineCount++; } } private void OnAcquisitionCompleted(IntPtr pInstance, int nOption) { // nOption: 0=一批数据结束, 1=全部完成, 2=点云就绪 if (nOption == 1 || nOption == 0) { GenerateIntensityMap(); } // nOption: 0=一批数据结束, 1=全部完成, 2=点云就绪 if (nOption == 1 || nOption == 0) { GenerateIntensityMap(); } } private void GenerateIntensityMap()