Example #1
0
        private void UpdateMarkerPosition(Color theColor)
        {
            _colorPosition = null;

            var hsv = ColorExtensions.ConvertRgbToHsv(theColor.R, theColor.G, theColor.B);

            CurrentColor.Background = LastColor.Background = new SolidColorBrush(theColor);

            ColorSlider.Value = hsv.H;

            var p = new Point(hsv.S, 1 - hsv.V);

            _colorPosition     = p;
            p.X                = p.X * ColorDetail.ActualWidth;
            p.Y                = p.Y * ColorDetail.ActualHeight;
            _markerTransform.X = p.X;
            _markerTransform.Y = p.Y;
        }
        public void ConvertRgbToHsv()
        {
            // Arrange
            double r = 200;
            double g = 154;
            double b = 154;
            double h;
            double s;
            double v;

            // Act
            var hsvColor = ColorExtensions.ConvertRgbToHsv(r, g, b);

            h = hsvColor.Item1;
            s = hsvColor.Item2;
            v = hsvColor.Item3;

            // Assert
            Assert.IsInstanceOfType(hsvColor, typeof(Tuple <double, double, double>));
            Assert.AreNotEqual(r, h);
            Assert.AreNotEqual(g, s);
            Assert.AreNotEqual(v, b);
        }