예제 #1
0
            public void then_should_return_cmyk_version_of_rgba_color_given_red()
            {
                // Arrange
                var rgbaColor = RgbaColor.FromRgba(0xff, 0x0, 0x0);

                // Act
                var cmyk = (CmykColor)rgbaColor;

                // Assert
                Assert.That(cmyk.C, Is.EqualTo(0));
                Assert.That(cmyk.M, Is.EqualTo(100));
                Assert.That(cmyk.Y, Is.EqualTo(100));
                Assert.That(cmyk.K, Is.EqualTo(0));
            }
예제 #2
0
            public void then_should_return_hsla_version_of_rgba_color_given_red()
            {
                // Arrange
                var rgbaColor = RgbaColor.FromRgba(0xff, 0x0, 0x0);

                // Act
                var hslaColor = (HslaColor)rgbaColor;

                // Assert
                Assert.That(hslaColor.H, Is.EqualTo(0));
                Assert.That(hslaColor.S, Is.EqualTo(1.0f));
                Assert.That(hslaColor.L, Is.EqualTo(.5f));
                Assert.That(hslaColor.A, Is.EqualTo(1.0f));
            }
예제 #3
0
        public RgbaColor GetRgbaPixel(Point pixelPosition)
        {
            RgbaColor rgbaColor;

            if (this.IsGrayscale)
            {
                byte gray = this.DisplayImageData[pixelPosition.Y, pixelPosition.X, 0];

                rgbaColor = RgbaColor.FromRgba(gray, gray, gray);
            }
            else
            {
                rgbaColor = RgbaColor.FromRgba(
                    this.DisplayImageData[pixelPosition.Y, pixelPosition.X, 0],
                    this.DisplayImageData[pixelPosition.Y, pixelPosition.X, 1],
                    this.DisplayImageData[pixelPosition.Y, pixelPosition.X, 2]);
            }

            return(rgbaColor);
        }