SaturationControl.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using PaintDotNet.Base.SettingModel;
  11. using PaintDotNet.Camera;
  12. using PaintDotNet.ImageCollect;
  13. namespace PaintDotNet.Preview2
  14. {
  15. public partial class SaturationControl : UserControl
  16. {
  17. private ICamera m_camera => CameraManager.CurrentCamera;
  18. private CameraParamModel.ParameterSets _settings
  19. {
  20. get
  21. {
  22. return CameraConfigs.Settings;
  23. }
  24. }
  25. private void InitializeLanguageText()
  26. {
  27. this.groupBox4.Text = PdnResources.GetString("Menu.Colorandsaturation.Text");
  28. this.cmpSaturation.Caption = PdnResources.GetString("Menu.saturation.text");
  29. }
  30. public SaturationControl()
  31. {
  32. InitializeComponent();
  33. }
  34. public void Initialize()
  35. {
  36. InitializeLanguageText();
  37. InitializeControlData();
  38. }
  39. public void UpdateSettings()
  40. {
  41. cmpSaturation.Value = _settings.Saturation;
  42. }
  43. private void InitializeControlData()
  44. {
  45. if (m_camera.IsOpen())
  46. {
  47. var range = m_camera.GetSaturationRange();
  48. cmpSaturation.Max = (int)range.Max;
  49. cmpSaturation.Min = (int)range.Min;
  50. cmpSaturation.OnValueChange += (value) =>
  51. {
  52. _settings.Saturation = (int)value;
  53. m_camera.Saturation = value;
  54. };
  55. cmpSaturation.Value = (int)m_camera.Saturation;
  56. }
  57. }
  58. }
  59. }