protected virtual RGBStruct ColourFunction(double x, double y) { CIEXYYColor xyy = new CIEXYYColor(x, y, 1.0); CIEXYZColour xyz = (CIEXYZColour)xyy; RGBColor rgb = xyz.ToRGB(cieRgbDefinition, false); if (rgb.OutOfGamut) return new RGBStruct(rgb.Rb, rgb.Gb, rgb.Bb, 128); // Values are clamped automatically else return new RGBStruct(rgb.Rb, rgb.Gb, rgb.Bb, 255); }
public void SetXYY(CIEXYYColor xyy) { TransferPacket<XYYStruct>(CMD_SET_XYY, new XYYStruct { x = (float)xyy.x, y = (float)xyy.y, Y = (float)xyy.Y }); }
private void TemperatureChanged() { xyzColor = (CIEXYZColour)temperature; xyyColor = (CIEXYYColor)xyzColor; rgbColor = (RGBColor)xyzColor; hsvColor = (HSVColor)rgbColor; //this.RgbChanged(); }
private void RgbChanged() { hsvColor = (HSVColor)rgbColor; xyzColor = rgbColor; xyyColor = xyzColor; //application.color = rgbColor; }
private void HsvChanged() { rgbColor = hsvColor.ToRGB(); xyzColor = rgbColor; xyyColor = xyzColor; //application.color = rgbColor; }
private void CieXYZChanged() { rgbColor = xyzColor; xyyColor = xyzColor; hsvColor = rgbColor; }
protected Point xyz2pt(CIEXYYColor xyy) { double width = this.ActualWidth; double height = this.ActualHeight; return new Point(width * xyy.x, height * xyy.y); }