C# RGB与HSV,HSL,HTML颜色相互之前转换

14 篇文章 0 订阅

主要介绍RGB与HSV和HSL相互之前的转换
界面如下:
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace RGBHSVHSLDemo
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void trb_rgb_R_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_rgb_R_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_rgb_R.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_rgb_R.Value = 0;
                    }
                    else
                    {
                        //
                        trb_rgb_R.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_rgb_R.Value = 0;
                }

                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_rgb_R_KeyPress(object sender, KeyPressEventArgs e)
        {
           
        }
        private void txt_rgb_R_TextChanged(object sender, EventArgs e)
        {
           
        }

        private void trb_rgb_G_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_rgb_G_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_rgb_G.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_rgb_G.Value = 0;
                    }
                    else
                    {
                        //
                        trb_rgb_G.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_rgb_G.Value = 0;
                }

                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_rgb_G_KeyPress(object sender, KeyPressEventArgs e)
        {
            
        }
        private void txt_rgb_G_TextChanged(object sender, EventArgs e)
        {
           
        }

        private void trb_rgb_B_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_rgb_B_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_rgb_B.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_rgb_B.Value = 0;
                    }
                    else
                    {
                        //
                        trb_rgb_B.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_rgb_B.Value = 0;
                }

                int my_rgb_R_value = trb_rgb_R.Value;
                int my_rgb_G_value = trb_rgb_G.Value;
                int my_rgb_B_value = trb_rgb_B.Value;

                ColorRGBClass my_colorRGBClass = new ColorRGBClass(my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_rgb_R_value, my_rgb_G_value, my_rgb_B_value);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_rgb_B_KeyPress(object sender, KeyPressEventArgs e)
        {
          
        }
        private void txt_rgb_B_TextChanged(object sender, EventArgs e)
        {
           
        }

        private void trb_hsv_H_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                Console.WriteLine(trb_hsv_H.Value.ToString());

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                
                Console.WriteLine(my_hsv_h_int.ToString()+ "," +my_hsv_s_int.ToString()+","+ my_hsv_v_int.ToString());
                
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass_temp.H, my_colorHSVClass_temp.S, my_colorHSVClass_temp.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();
                Console.WriteLine(my_colorHSVClass.H.ToString());

                trb_hsv_H.Value = my_colorHSVClass_temp.H;
                txt_hsv_H.Text = my_colorHSVClass_temp.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass_temp.S;
                txt_hsv_S.Text = my_colorHSVClass_temp.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass_temp.V;
                txt_hsv_V.Text = my_colorHSVClass_temp.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_hsv_H_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsv_H.Text, out my_ret))
                {
                    if (my_ret > 360)
                    {
                        MessageBox.Show("请输入0~360之间的整数");
                        trb_hsv_H.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsv_H.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsv_H.Value = 0;
                }
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_hsv_h_int;
                txt_hsv_H.Text = my_hsv_h_int.ToString();
                trb_hsv_S.Value = my_hsv_s_int;
                txt_hsv_S.Text = my_hsv_s_int.ToString();
                trb_hsv_V.Value = my_hsv_v_int;
                txt_hsv_V.Text = my_hsv_v_int.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        private void txt_hsv_H_KeyPress(object sender, KeyPressEventArgs e)
        {
           
        }
        private void txt_hsv_H_TextChanged(object sender, EventArgs e)
        {
           
        }

        private void trb_hsv_S_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass_temp.H, my_colorHSVClass_temp.S, my_colorHSVClass_temp.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass_temp.H;
                txt_hsv_H.Text = my_colorHSVClass_temp.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass_temp.S;
                txt_hsv_S.Text = my_colorHSVClass_temp.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass_temp.V;
                txt_hsv_V.Text = my_colorHSVClass_temp.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_hsv_S_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsv_S.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_hsv_S.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsv_S.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsv_S.Value = 0;
                }
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_hsv_h_int;
                txt_hsv_H.Text = my_hsv_h_int.ToString();
                trb_hsv_S.Value = my_hsv_s_int;
                txt_hsv_S.Text = my_hsv_s_int.ToString();
                trb_hsv_V.Value = my_hsv_v_int;
                txt_hsv_V.Text = my_hsv_v_int.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void trb_hsv_V_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_hsv_V_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsv_V.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_hsv_V.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsv_V.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsv_V.Value = 0;
                }
                int my_hsv_h_int = trb_hsv_H.Value;
                int my_hsv_s_int = trb_hsv_S.Value;
                int my_hsv_v_int = trb_hsv_V.Value;

                ColorHSVClass my_colorHSVClass_temp = new ColorHSVClass(my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HsvToRgb(my_colorHSVClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_hsv_h_int, my_hsv_s_int, my_hsv_v_int);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass.H, my_colorHSLClass.S, my_colorHSLClass.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_hsv_h_int;
                txt_hsv_H.Text = my_hsv_h_int.ToString();
                trb_hsv_S.Value = my_hsv_s_int;
                txt_hsv_S.Text = my_hsv_s_int.ToString();
                trb_hsv_V.Value = my_hsv_v_int;
                txt_hsv_V.Text = my_hsv_v_int.ToString();

                trb_hsl_H.Value = my_colorHSLClass.H;
                txt_hsl_H.Text = my_colorHSLClass.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass.S;
                txt_hsl_S.Text = my_colorHSLClass.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass.L;
                txt_hsl_L.Text = my_colorHSLClass.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void trb_hsl_H_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;

                Console.WriteLine(trb_hsv_H.Value.ToString());

                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);

 
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();
                Console.WriteLine(my_colorHSVClass.H.ToString());

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_hsl_H_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsl_H.Text, out my_ret))
                {
                    if (my_ret > 360)
                    {
                        MessageBox.Show("请输入0~360之间的整数");
                        trb_hsl_H.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsl_H.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsl_H.Value = 0;
                }
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;

                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void trb_hsl_S_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;


                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);


                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();
                Console.WriteLine(my_colorHSVClass.H.ToString());

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_hsl_S_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsl_S.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_hsl_S.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsl_S.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsl_S.Value = 0;
                }
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;

                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void trb_hsl_L_Scroll(object sender, EventArgs e)
        {
            try
            {
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;


                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);


                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();
                Console.WriteLine(my_colorHSVClass.H.ToString());

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private void txt_hsl_L_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                int my_ret = 0;
                if (int.TryParse(this.txt_hsl_L.Text, out my_ret))
                {
                    if (my_ret > 255)
                    {
                        MessageBox.Show("请输入0~255之间的整数");
                        trb_hsl_L.Value = 0;
                    }
                    else
                    {
                        //
                        trb_hsl_L.Value = my_ret;
                    }
                }
                else
                {
                    MessageBox.Show("请输入整数");
                    trb_hsl_L.Value = 0;
                }
                int my_hsl_h_int = trb_hsl_H.Value;
                int my_hsl_s_int = trb_hsl_S.Value;
                int my_hsl_l_int = trb_hsl_L.Value;

                ColorHSLClass my_colorHSLClass_temp = new ColorHSLClass(my_hsl_h_int, my_hsl_s_int, my_hsl_l_int);
                ColorRGBClass my_colorRGBClass = ColorHelperClass.HslToRgb(my_colorHSLClass_temp);
                ColorHSVClass my_colorHSVClass = ColorHelperClass.RgbToHsv(my_colorRGBClass);
                ColorHSLClass my_colorHSLClass = ColorHelperClass.RgbToHsl(my_colorRGBClass);
                string my_color_html = ColorHelperClass.RgbToHtml(my_colorRGBClass);
                string my_color_rgb = string.Format("({0},{1},{2})", my_colorRGBClass.R, my_colorRGBClass.G, my_colorRGBClass.B);
                string my_color_hsv = string.Format("({0},{1},{2})", my_colorHSVClass.H, my_colorHSVClass.S, my_colorHSVClass.V);
                string my_color_hsl = string.Format("({0},{1},{2})", my_colorHSLClass_temp.H, my_colorHSLClass_temp.S, my_colorHSLClass_temp.L);

                lbl_color_rgb_value.Text = my_color_rgb;
                lbl_color_hsv_value.Text = my_color_hsv;
                lbl_color_hsl_value.Text = my_color_hsl;
                lbl_color_html_value.Text = my_color_html;

                trb_rgb_R.Value = my_colorRGBClass.R;
                txt_rgb_R.Text = my_colorRGBClass.R.ToString();
                trb_rgb_G.Value = my_colorRGBClass.G;
                txt_rgb_G.Text = my_colorRGBClass.G.ToString();
                trb_rgb_B.Value = my_colorRGBClass.B;
                txt_rgb_B.Text = my_colorRGBClass.B.ToString();

                trb_hsv_H.Value = my_colorHSVClass.H;
                txt_hsv_H.Text = my_colorHSVClass.H.ToString();
                trb_hsv_S.Value = my_colorHSVClass.S;
                txt_hsv_S.Text = my_colorHSVClass.S.ToString();
                trb_hsv_V.Value = my_colorHSVClass.V;
                txt_hsv_V.Text = my_colorHSVClass.V.ToString();

                trb_hsl_H.Value = my_colorHSLClass_temp.H;
                txt_hsl_H.Text = my_colorHSLClass_temp.H.ToString();
                trb_hsl_S.Value = my_colorHSLClass_temp.S;
                txt_hsl_S.Text = my_colorHSLClass_temp.S.ToString();
                trb_hsl_L.Value = my_colorHSLClass_temp.L;
                txt_hsl_L.Text = my_colorHSLClass_temp.L.ToString();

                this.btn_color_value.BackColor = Color.FromArgb(int.Parse(this.txt_rgb_R.Text.ToString()), int.Parse(this.txt_rgb_G.Text.ToString()), int.Parse(this.txt_rgb_B.Text.ToString()));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
    }
}
具体项目请查看 https://download.csdn.net/download/xwwwill/87431605
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值