using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using PaintDotNet.Base.SettingModel; using TUCamera; namespace PaintDotNet.ImageCollect.CameraComponent { public partial class FrameCameraModeControl : UserControl { private TUCamera.TUCamera m_camera; private CameraParamModel m_cameraParamModel; private bool m_use; private int m_selectedBin; private string[] m_binArray = new string[] { "1x1 Bin", "2x2 Bin", "3x3 Bin", "4x4 Bin" }; private void InitializeLanguageText() { this.groupBox1.Text = PdnResources.GetString("Menu.Cameramode.text"); this.rdoBlackWhite.Text = PdnResources.GetString("Menu.lx.text"); this.rdoColor.Text = PdnResources.GetString("Menu.Colormode.text"); } public FrameCameraModeControl(CameraParamModel model, bool use) { m_use = use; m_camera = TUCameraManager.GetInstance().GetCurrentCamera(); m_cameraParamModel = model; InitializeComponent(); InitializeLanguageText(); InitializeControlData(); } public void ReLoad(CameraParamModel model, bool use) { m_cameraParamModel = model; m_use = use; InitializeControlData(); } private void InitializeControlData() { //绑定相机模式 if (m_cameraParamModel.parame.Monochromatic == 1) { rdoBlackWhite.Checked = true; } else { rdoColor.Checked = true; } this.cameraComboBox.Items.Clear(); this.cameraComboBox.Items.AddRange(m_binArray); int index = m_cameraParamModel.parame.BinningSumation - 1; if(index > m_binArray.Length || index < 0) { index = 0; } this.cameraComboBox.SelectedIndex = index; } private void rdoColor_CheckedChanged(object sender, EventArgs e) { if (rdoColor.Checked) { m_cameraParamModel.parame.Monochromatic = 0; if (m_use) { m_camera.SetCameraMode(CameraMode.COLOR); //usec } } } private void rdoBlackWhite_CheckedChanged(object sender, EventArgs e) { if (rdoBlackWhite.Checked) { m_cameraParamModel.parame.Monochromatic = 1; if (m_use) { m_camera.SetCameraMode(CameraMode.BLACK_WHILE); //usec } } } private void cameraComboBox_SelectedIndexChanged(object sender, EventArgs e) { m_selectedBin = cameraComboBox.SelectedIndex + 1; if (m_selectedBin == m_cameraParamModel.parame.BinningSumation) { return; } m_cameraParamModel.parame.BinningSumation = m_selectedBin; // 这个功能无法实时生效 ,只能设置,重新开启预览才能生效 //if (m_use && m_camera.IsSupportBinng()) //{ // switch (m_selectedBin) // { // case 1: // m_camera.SetBinningSum(BinningSum.BIN1X1); //usec // break; // case 2: // m_camera.SetBinningSum(BinningSum.BIN2X2); //usec // break; // case 3: // m_camera.SetBinningSum(BinningSum.BIN3X3); //usec // break; // case 4: // m_camera.SetBinningSum(BinningSum.BIN4X4); //usec // break; // } //} } } }