예제 #1
0
        public void PrimariesGoFullCircle()
        {
            var primaries = new float[] { 1, 2, 3, 4, 5, 6, 7, 8 };

            var csp = new SKColorSpacePrimaries(primaries);

            Assert.Equal(primaries, csp.Values);
        }
예제 #2
0
        public void PrimariesToXyz()
        {
            var primaries = new float[] {
                0.64f, 0.33f,
                0.30f, 0.60f,
                0.15f, 0.06f,
                0.3127f, 0.3290f
            };
            var csp = new SKColorSpacePrimaries(primaries);

            var xyz = csp.ToColorSpaceXyz();

            AssertSimilar(SKColorSpaceXyz.Srgb.Values, xyz.Values, PRECISION);
        }
예제 #3
0
        public void PrimariesToMatrix44()
        {
            var primaries = new float[] {
                0.64f, 0.33f,
                0.30f, 0.60f,
                0.15f, 0.06f,
                0.3127f, 0.3290f
            };
            var csp = new SKColorSpacePrimaries(primaries);

            var matrix44 = csp.ToMatrix44();

            Assert.NotNull(matrix44);

            var srgb44 = SKColorSpaceXyz.Srgb.ToMatrix44();

            AssertSimilar(srgb44.ToRowMajor(), matrix44.ToRowMajor(), PRECISION);
        }