Example #1
0
 private void HsvChanged()
 {
     rgbColor = hsvColor.ToRGB();
     xyzColor = rgbColor;
     xyyColor = xyzColor;
     //application.color = rgbColor;
 }
Example #2
0
 private void RgbChanged()
 {
     hsvColor = (HSVColor)rgbColor;
     xyzColor = rgbColor;
     xyyColor = xyzColor;
     //application.color = rgbColor;
 }
Example #3
0
 private void TemperatureChanged()
 {
     xyzColor = (CIEXYZColour)temperature;
     xyyColor = (CIEXYYColor)xyzColor;
     rgbColor = (RGBColor)xyzColor;
     hsvColor = (HSVColor)rgbColor;
     //this.RgbChanged();
 }
Example #4
0
        // Not valid, because the PWM value isn't available for reading

        /*public PWMStruct GetPWM()
         * {
         *  SendPacket(CMD_GET_PWM);
         *  return ReadReply<PWMStruct>(CMD_GET_PWM);
         * }*/

        public void SetXYZ(CIEXYZColour xyz)
        {
            TransferPacket <XYZStruct>(CMD_SET_XYZ, new XYZStruct
            {
                X = (float)xyz.X,
                Y = (float)xyz.Y,
                Z = (float)xyz.Z
            });
        }
Example #5
0
        private void UpdateSelector()
        {
            double x = this.X;
            double y = this.Y;

            if (!double.IsNaN(x) && !double.IsNaN(y))
            {
                CIEXYZColour xyz = (CIEXYZColour) new CIEXYYColor(x, y, 0.5);

                this.selector.Margin = new Thickness(
                    cieplot.Margin.Left + x * cieplot.ActualWidth - this.selector.ActualWidth / 2,
                    cieplot.Margin.Top + (1.0 - y) * cieplot.ActualHeight - this.selector.ActualHeight / 2,
                    0, 0);

                this.selector.Fill = new SolidColorBrush(xyz.ToRGB(cieplot.cieRgbDefinition, limitGamut: false));
            }
        }
Example #6
0
        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));
            }
        }
Example #7
0
 private void CiexyYChanged()
 {
     xyzColor = xyyColor;
     rgbColor = xyzColor;
     hsvColor = rgbColor;
 }