public ColorPicker()
 {
     DefaultStyleKey = typeof(ColorPicker);
     m_selectedHue = 0;
     m_colorSpace = new ColorSpace();
     this.Width = this.Height = 200;
     this.LayoutUpdated += new EventHandler(ColorPicker_LayoutUpdated);
 }
 public void RgbHsvConversion()
 {
     ColorSpace cs = new ColorSpace();
     for(int r = 0; r<255; r+=5)
         for(int g=0; g<255; g+=5)
             for(int b=0; b<255; b+=5)
             {
                 Color c1 = Color.FromArgb(255, (byte)r, (byte)g, (byte)b);
                 HSV tmpHSL = cs.ConvertRgbToHsv(c1);
                 Color c2 = cs.ConvertHsvToRgb(tmpHSL.Hue, tmpHSL.Saturation, tmpHSL.Value);
                 Assert.AreEqual(c1.R, c2.R);
                 Assert.AreEqual(c1.G, c2.G);
                 Assert.AreEqual(c1.B, c2.B);
                 Assert.AreEqual(c1.A, c2.A);
             }
 }
 /// <summary>
 /// Create a new instance of the ColorPicker control.
 /// </summary>
 public ColorPicker()
 {
     DefaultStyleKey = typeof(ColorPicker);
     m_colorSpace    = new ColorSpace();
 }
 /// <summary>
 /// Create a new instance of the ColorPicker control.
 /// </summary>
 public ColorPicker()
 {
     DefaultStyleKey = typeof(ColorPicker);
     m_colorSpace = new ColorSpace();
 }
        private void UpdateVisuals()
        {
            if (m_hueMonitor == null)
                return;

            Color c = this.SelectedColor;
            ColorSpace cs = new ColorSpace();
            HSV hsv = cs.ConvertRgbToHsv(c);

            m_huePos = (hsv.Hue/360*m_hueMonitor.Height);
            m_sampleY = -1*(hsv.Value-1)*m_colorSample.Height;
            m_sampleX = hsv.Saturation*m_colorSample.Width;
            if(!double.IsNaN(m_huePos))
                UpdateHueSelection();
            UpdateSatValSelection();
        }