Example #1
0
        private void btnUpdatexyY_Click(object sender, RoutedEventArgs e)
        {
            SetOutOfGamut(false);
            double x = double.Parse(txtxyY_x.Text);
            double y = double.Parse(txtxyY_y.Text);
            double Y = double.Parse(txtxyY_Y.Text);

            xyYColour xyYCol = xyYColour.FromxyY(x, y, Y);

            XYZColour xyzColour = xyYCol.ToXYZColour();

            RGBColour rgbColour = ColourUtil.XYZTosRGB(xyzColour);

            txtR.Text = rgbColour.R.ToString();
            txtG.Text = rgbColour.G.ToString();
            txtB.Text = rgbColour.B.ToString();

            txtXYZ_X.Text = xyzColour.X.ToString();
            txtXYZ_Y.Text = xyzColour.Y.ToString();
            txtXYZ_Z.Text = xyzColour.Z.ToString();

            Color newColourForRectangle = Color.FromRgb((byte)rgbColour.R, (byte)rgbColour.G, (byte)rgbColour.B);

            SolidColorBrush brush = new SolidColorBrush(newColourForRectangle);

            rectColour.Fill = brush;

            SetOutOfGamut(rgbColour.OutOfGamut);
        }
Example #2
0
        private Color GetColorFromXYY(xyYColour xyy)
        {
            XYZColour xyz   = xyy.ToXYZColour();
            RGBColour rgb   = ColourUtil.XYZTosRGB(xyz);
            Color     color = Color.FromRgb((byte)rgb.R, (byte)rgb.G, (byte)rgb.B);

            return(color);
        }
Example #3
0
        private bool IsOutOfGamut(xyYColour xyy)
        {
            double x = Math.Round(xyy.x, 5, MidpointRounding.ToEven);
            double y = Math.Round(xyy.y, 5, MidpointRounding.ToEven);

            xyYColour temp = xyYColour.FromxyY(x, y, xyy.Y);

            XYZColour xyz = temp.ToXYZColour();
            RGBColour rgb = ColourUtil.XYZTosRGB(xyz);

            return(rgb.OutOfGamut);
        }
Example #4
0
        private Color GetColorFromXYY(xyYColour xyy)
        {
            double x = Math.Round(xyy.x, 5, MidpointRounding.ToEven);
            double y = Math.Round(xyy.y, 5, MidpointRounding.ToEven);

            xyYColour temp = xyYColour.FromxyY(x, y, xyy.Y);

            XYZColour xyz   = temp.ToXYZColour();
            RGBColour rgb   = ColourUtil.XYZTosRGB(xyz);
            Color     color = Color.FromArgb(0, (byte)rgb.R, (byte)rgb.G, (byte)rgb.B);

            return(color);
        }