Beispiel #1
0
        public void Convert_Cmyk_to_HunterLab(float c, float m, float y, float k, float l, float a, float b)
        {
            // Arrange
            var input    = new Cmyk(c, m, y, k);
            var expected = new HunterLab(l, a, b);

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

            inputSpan.Fill(input);

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

            // Act
            var actual = Converter.ToHunterLab(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);
            }
        }
        [InlineData(0.95047, 1, 1.08883, 100, 0, 0)] // D65 white point is HunterLab 100, 0, 0 (adaptation to C performed)
        public void Convert_Xyz_D65_to_HunterLab(float x, float y, float z, float l, float a, float b)
        {
            // Arrange
            var input   = new CieXyz(x, y, z);
            var options = new ColorSpaceConverterOptions {
                WhitePoint = Illuminants.D65
            };
            var converter = new ColorSpaceConverter(options);
            var expected  = new HunterLab(l, a, b);

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

            inputSpan.Fill(input);

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

            // Act
            var actual = converter.ToHunterLab(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);
            }
        }
Beispiel #3
0
        public void Convert_CieLch_to_HunterLab(float l, float c, float h, float l2, float a, float b)
        {
            // Arrange
            var input    = new CieLch(l, c, h);
            var expected = new HunterLab(l2, a, b);

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

            inputSpan.Fill(input);

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

            // Act
            var actual = Converter.ToHunterLab(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);
            }
        }
        [InlineData(0.95047, 1, 1.08883, 100, 0, 0)] // D65 white point is HunterLab 100, 0, 0 (adaptation to C performed)
        public void Convert_Xyz_D65_to_HunterLab(float x, float y, float z, float l, float a, float b)
        {
            // Arrange
            CieXyz input = new CieXyz(x, y, z);
            ColorSpaceConverter converter = new ColorSpaceConverter {
                WhitePoint = Illuminants.D65
            };

            // Act
            HunterLab output = converter.ToHunterLab(input);

            // Assert
            Assert.Equal(l, output.L, FloatRoundingComparer);
            Assert.Equal(a, output.A, FloatRoundingComparer);
            Assert.Equal(b, output.B, FloatRoundingComparer);
        }
 public float ColorSpaceConvert()
 {
     return(ColorSpaceConverter.ToHunterLab(CieXyz).L);
 }