private void OnPickerColorChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == nameof(this.picker.SelectedColor)) { this.SelectedColor = this.picker.SelectedColor; this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectedColor))); } }
private void ConvertFromHSVToRGB() { var src = this.hsvPicker.SelectedColor; var rgb = Colors.ToRGB(src); var safeRGB = ColorsSafe.ToRGBFromHSV(rgb); this.rgbPicker.SelectedColor = safeRGB.Item1; this.ConversionMessage = safeRGB.Item2; }
private void ConvertFromRGBToHSV() { var src = this.rgbPicker.SelectedColor; var rgb = Colors.ToRGBFull(src); this.hsvPicker.SelectedColor = Colors.ToHSV(rgb); this.ConversionMessage = string.Empty; }
private void ConvertFromHSVToXYZ() { var src = this.hsvPicker.SelectedColor; var rgb = Colors.ToRGB(src); this.xyzPicker.SelectedColor = Colors.ToXYZ(rgb); this.ConversionMessage = string.Empty; }
private void ConvertFromHSVToxyY() { this.ConvertFromHSVToXYZ(); this.xyYPicker.SelectedColor = Colors.ToxyY(this.xyzPicker.SelectedColor); }
private void UpdateSelectedColor(ColorRGB color) { this.selectedColor = color; this.OnPropertyChanged(nameof(SelectedColor)); }
private void OnSelectedColorChanged() { var rgb = Colors.ToRGBFull(this.selectedColor); this.rgbPicker.SelectedColor = this.SelectedColor; this.hsvPicker.SelectedColor = Colors.ToHSV(rgb); this.xyzPicker.SelectedColor = Colors.ToXYZ(rgb); this.OnPropertyChanged(nameof(SelectedColor)); }
public static ColorRGB Clamp(ColorRGB color) { var r = Clamp(color.R); var g = Clamp(color.G); var b = Clamp(color.B); return new ColorRGB(r, g, b); }
private void ConvertFromXYZToHSV() { var src = this.xyzPicker.SelectedColor; var rgb = Colors.ToRGB(src); var safeHSV = ColorsSafe.ToHSVFromXYZ(rgb); this.hsvPicker.SelectedColor = safeHSV.Item1; this.ConversionMessage = safeHSV.Item2; }
private void ConvertFromxyYToXYZ() { var src = this.xyYPicker.SelectedColor; this.xyzPicker.SelectedColor = Colors.ToXYZ(src); this.ConversionMessage = string.Empty; }
private void ConvertFromxyYToRGB() { var src = this.xyYPicker.SelectedColor; this.xyzPicker.SelectedColor = Colors.ToXYZ(src); this.ConvertFromXYZToRGB(); }
private static Tuple<ColorRGB, string> SafeConvert(ColorRGBFull rgb, ColorRGB result) { if (IsOutside(rgb)) { return Tuple.Create(result, $"Cannot convert colors. Approximated by ({result.R}, {result.G}, {result.B})"); } return Tuple.Create(result, string.Empty); }
public static Color ToUIColor(ColorRGB newColor) { return Color.FromRgb((byte)newColor.R, (byte)newColor.G, (byte)newColor.B); }
public static ColorRGBFull ToRGBFull(ColorRGB rgb) { var r = (double)rgb.R / ColorRGB.MaxValue; var g = (double)rgb.G / ColorRGB.MaxValue; var b = (double)rgb.B / ColorRGB.MaxValue; return new ColorRGBFull(r, g, b); }
public static uint GetBytes(ColorRGB rgb) { return 0xFF000000 | (uint)rgb.R << 16 | (uint)rgb.G << 8 | (uint)rgb.B; }
private void ConvertFromXYZToxyY() { this.xyYPicker.SelectedColor = Colors.ToxyY(this.xyzPicker.SelectedColor); this.ConversionMessage = string.Empty; }
private void OnSelectedColorChanged() { this.picker.SelectedColor = this.SelectedColor; }
public bool Equals(ColorRGB rgb) { return this.R == rgb.R && this.G == rgb.G && this.B == rgb.B; }