123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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 AdjustSaturationControl : UserControl
- {
- private TUCamera.TUCamera m_camera;
- private CameraParamModel m_cameraParamModel;
- private bool m_use;
- private void InitializeLanguageText()
- {
- this.groupBox4.Text = PdnResources.GetString("Menu.Colorandsaturation.Text");
- this.label13.Text = PdnResources.GetString("Menu.saturation.text") + ":";
- }
- public AdjustSaturationControl(CameraParamModel model, bool use)
- {
- InitializeComponent();
- InitializeLanguageText();
- m_use = use;
- m_camera = TUCameraManager.GetInstance().GetCurrentCamera();
- m_cameraParamModel = model;
- InitializeControlData();
- }
- public void ReLoad(CameraParamModel model, bool use)
- {
- m_cameraParamModel = model;
- m_use = use;
- InitializeControlData();
- }
- private void InitializeControlData()
- {
- if (m_camera.IsOpen())
- {
- // 饱和度
- int minVal = 0;
- int maxVal = 0;
- m_camera.GetSaturationRange(ref minVal, ref maxVal);
- trbSaturation.SetRange(minVal, maxVal);
- lblSaturationMinVal.Text = ((int)minVal).ToString();
- lblSaturationMaxVal.Text = ((int)maxVal).ToString();
- }
- // 饱和度
- int baoheduTBarValue = this.m_cameraParamModel.parame.Saturation;
- if (baoheduTBarValue >= this.trbSaturation.Minimum && baoheduTBarValue <= this.trbSaturation.Maximum)
- {
- this.trbSaturation.Value = this.m_cameraParamModel.parame.Saturation;
- }
- }
- private void trbSaturation_ValueChanged(object sender, EventArgs e)
- {
- this.m_cameraParamModel.parame.Saturation = this.trbSaturation.Value;
- this.txtSaturation.Text = this.trbSaturation.Value.ToString();
- // 设置到相机
- if (m_use)
- {
- m_camera.SetSaturation(this.m_cameraParamModel.parame.Saturation); //usec
- }
- }
- private void txtSaturation_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && (e.KeyChar != (char)Keys.Enter)) // 非数字键, 放弃该输入
- {
- e.Handled = true;
- return;
- }
- if (e.KeyChar == (char)Keys.Enter)
- {
- try
- {
- int saturationVal = Convert.ToInt32(txtSaturation.Text);
- if (saturationVal > trbSaturation.Maximum)
- {
- saturationVal = trbSaturation.Maximum;
- }
- if (saturationVal < trbSaturation.Minimum)
- {
- saturationVal = trbSaturation.Minimum;
- }
- trbSaturation.Value = saturationVal;
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- }
- }
|