/// <summary> /// Updates the color shade selector position. /// </summary> /// <param name="color">The color.</param> private void UpdateColorShadeSelectorPosition(Color color) { if (_spectrumSlider == null || _colorShadingCanvas == null) { return; } _currentColorPosition = null; HsvColor hsv = ColorUtilities.ConvertRgbToHsv(color.R, color.G, color.B); if (!(color.R == color.G && color.R == color.B)) { _spectrumSlider.Value = hsv.H; } Point p = new Point(hsv.S, 1 - hsv.V); _currentColorPosition = p; _colorShadeSelectorTransform.X = (p.X * _colorShadingCanvas.Width) - 5; _colorShadeSelectorTransform.Y = (p.Y * _colorShadingCanvas.Height) - 5; }