コード例 #1
0
        public void Convert_CieLch_to_YCbCr(float l, float c, float h, float y, float cb, float cr)
        {
            // Arrange
            var input    = new CieLch(l, c, h);
            var expected = new YCbCr(y, cb, cr);

            Span <CieLch> inputSpan = new CieLch[5];

            inputSpan.Fill(input);

            Span <YCbCr> actualSpan = new YCbCr[5];

            // Act
            var actual = Converter.ToYCbCr(input);

            Converter.Convert(inputSpan, actualSpan);

            // Assert
            Assert.Equal(expected, actual, ColorSpaceComparer);

            for (int i = 0; i < actualSpan.Length; i++)
            {
                Assert.Equal(expected, actualSpan[i], ColorSpaceComparer);
            }
        }
コード例 #2
0
        public void Convert_Rgb_To_YCbCr(float r, float g, float b, float y, float cb, float cr)
        {
            // Arrange
            var input    = new Rgb(r, g, b);
            var expected = new YCbCr(y, cb, cr);

            Span <Rgb> inputSpan = new Rgb[5];

            inputSpan.Fill(input);

            Span <YCbCr> actualSpan = new YCbCr[5];

            // Act
            var actual = Converter.ToYCbCr(input);

            Converter.Convert(inputSpan, actualSpan);

            // Assert
            Assert.Equal(expected, actual, ColorSpaceComparer);

            for (int i = 0; i < actualSpan.Length; i++)
            {
                Assert.Equal(expected, actualSpan[i], ColorSpaceComparer);
            }
        }
コード例 #3
0
        public void Convert_Cmyk_to_YCbCr(float c, float m, float y, float k, float y2, float cb, float cr)
        {
            // Arrange
            var input    = new Cmyk(c, m, y, k);
            var expected = new YCbCr(y2, cb, cr);

            Span <Cmyk> inputSpan = new Cmyk[5];

            inputSpan.Fill(input);

            Span <YCbCr> actualSpan = new YCbCr[5];

            // Act
            var actual = Converter.ToYCbCr(input);

            Converter.Convert(inputSpan, actualSpan);

            // Assert
            Assert.Equal(expected, actual, ColorSpaceComparer);

            for (int i = 0; i < actualSpan.Length; i++)
            {
                Assert.Equal(expected, actualSpan[i], ColorSpaceComparer);
            }
        }
コード例 #4
0
        public void Convert_CieXyy_to_YCbCr(float x, float y, float yl, float y2, float cb, float cr)
        {
            // Arrange
            var input    = new CieXyy(x, y, yl);
            var expected = new YCbCr(y2, cb, cr);

            Span <CieXyy> inputSpan = new CieXyy[5];

            inputSpan.Fill(input);

            Span <YCbCr> actualSpan = new YCbCr[5];

            // Act
            var actual = Converter.ToYCbCr(input);

            Converter.Convert(inputSpan, actualSpan, actualSpan.Length);

            // Assert
            Assert.Equal(expected, actual, ColorSpaceComparer);

            for (int i = 0; i < actualSpan.Length; i++)
            {
                Assert.Equal(expected, actualSpan[i], ColorSpaceComparer);
            }
        }
コード例 #5
0
        public void Convert_Rgb_To_YCbCr(float r, float g, float b, float y, float cb, float cr)
        {
            // Arrange
            var input = new Rgb(r, g, b);

            // Act
            YCbCr output = Converter.ToYCbCr(input);

            // Assert
            Assert.Equal(y, output.Y, FloatRoundingComparer);
            Assert.Equal(cb, output.Cb, FloatRoundingComparer);
            Assert.Equal(cr, output.Cr, FloatRoundingComparer);
        }