コード例 #1
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void num_Blue_Changed(object sender, System.EventArgs e)
        {
            m_rgb = Color.FromArgb(m_rgb.R, m_rgb.G, (int)num_Blue.Value);
            m_hsl = AdobeColors.RGB_to_HSL(m_rgb);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            UpdateUI(sender);
        }
コード例 #2
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void m_txt_Hex_Changed(object sender, System.EventArgs e)
        {
            try
            {
                m_rgb = Color.FromArgb(Convert.ToInt32(m_txt_Hex.Text, 16));
            }
            catch (Exception ex)
            {
                Archer.Main.Report(ex.Message);
            }

            m_hsl = AdobeColors.RGB_to_HSL(m_rgb);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            UpdateUI(sender);
        }
コード例 #3
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void num_Black_Changed(object sender, System.EventArgs e)
        {
            m_hsl.L = (double)num_Black.Value / 100;

            m_rgb = AdobeColors.HSL_to_RGB(m_hsl);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            UpdateUI(sender);
        }
コード例 #4
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void m_lbl_Secondary_Color_Click(object sender, System.EventArgs e)
        {
            m_rgb = m_lbl_Secondary_Color.BackColor;
            m_hsl = AdobeColors.RGB_to_HSL(m_rgb);

            m_ctrl_BigBox.HSL = m_hsl;
            m_ctrl_ThinBox.HSL = m_hsl;

            m_lbl_Primary_Color.BackColor = m_rgb;
            m_lbl_Primary_Color.Update();

            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            UpdateUI();
        }
コード例 #5
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        public ColorPicker(Color starting_color)
        {
            InitializeComponent();
            this.Font = Archer.Resource.MainFont;

            m_rgb = starting_color;
            m_hsl = AdobeColors.RGB_to_HSL(m_rgb);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            hDeviceContext = GetDC(IntPtr.Zero);

            UpdateUI();

            m_ctrl_BigBox.HSL = m_hsl;
            m_ctrl_ThinBox.HSL = m_hsl;

            m_lbl_Primary_Color.BackColor = starting_color;
            m_lbl_Secondary_Color.BackColor = starting_color;

            m_rbtn_Hue.Checked = true;

            this.WriteHexData(m_rgb);
        }
コード例 #6
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void m_lbl_Primary_Color_MouseMove(object sender, MouseEventArgs e)
        {
            GetCursorPos(out ptCurrentMouse);
            lbCursorPos.Text = "Position(" + (ptCurrentMouse.X + 1) + "," + (ptCurrentMouse.Y + 1) + ")";
            lbCursorPos.Update();

            Graphics g = Graphics.FromImage(bmpCapture);
            g.CopyFromScreen(ptCurrentMouse.X - 10, ptCurrentMouse.Y - 10, 0, 0, new Size(20, 20));

            g = pbMagnifier.CreateGraphics();
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
            g.DrawImage(
                bmpCapture,
                new Rectangle(0,0,60,60),
                new Rectangle(0,0,20,20),
                GraphicsUnit.Pixel
            );

            Color cTarget = bmpCapture.GetPixel(10, 10);

            g.DrawRectangle(new Pen(Color.FromArgb(255, 255, 255, 255)), 28, 28, 4, 4);
            g.DrawRectangle(new Pen(Color.FromArgb(255, 50, 50, 50)), 27, 27, 6, 6);

            m_lbl_Primary_Color.BackColor = cTarget;
            m_lbl_Primary_Color.Update();

            m_rgb = cTarget;
            m_hsl = AdobeColors.RGB_to_HSL(m_rgb);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            m_ctrl_BigBox.HSL = m_hsl;
            m_ctrl_ThinBox.HSL = m_hsl;
            m_lbl_Primary_Color.BackColor = m_rgb;

            UpdateUI();
        }
コード例 #7
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void m_ctrl_ThinBox_Scroll(object sender, System.EventArgs e)
        {
            m_hsl = m_ctrl_ThinBox.HSL;
            m_rgb = AdobeColors.HSL_to_RGB(m_hsl);
            m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

            UpdateUI();

            m_ctrl_BigBox.HSL = m_hsl;

            m_lbl_Primary_Color.BackColor = m_rgb;
            m_lbl_Primary_Color.Update();
        }
コード例 #8
0
ファイル: ColorPicker.cs プロジェクト: ysmood/Archer
        private void pbColorWheel_MouseDown(object sender, MouseEventArgs e)
        {
            GetCursorPos(out ptCurrentMouse);
            Color c = GetPixelColor(ptCurrentMouse.X, ptCurrentMouse.Y);
            if (AdobeColors.RGB_to_HSL(c).S == 1)
            {
                m_lbl_Primary_Color.BackColor = c;
                m_lbl_Primary_Color.Update();

                m_rgb = c;
                m_hsl = AdobeColors.RGB_to_HSL(m_rgb);
                m_cmyk = AdobeColors.RGB_to_CMYK(m_rgb);

                UpdateUI(sender);

                pbColorWheel.Refresh();
                Graphics g = pbColorWheel.CreateGraphics();
                int diameter = 12;
                g.DrawEllipse(Pens.Black, new Rectangle(e.X - diameter / 2, e.Y - diameter / 2, diameter, diameter));
                g.DrawEllipse(Pens.White, new Rectangle(e.X - diameter / 2 + 1, e.Y - diameter / 2 + 1, diameter - 2, diameter - 2));
            }
        }