From 83a3490f531fa06ab4289b7530991a1a9fad5418 Mon Sep 17 00:00:00 2001 From: Tornhoof Date: Tue, 18 Apr 2017 21:14:26 +0200 Subject: [PATCH 1/2] Add Missing Transpose for Bradford matrix --- .../Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs | 2 +- .../Colors/Colorspaces/RgbAndCieXyzConversionTest.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs b/src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs index cc88095748..2b597ba42d 100644 --- a/src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs +++ b/src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs @@ -40,7 +40,7 @@ namespace ImageSharp.Colors.Spaces.Conversion.Implementation.Lms /// public CieXyzAndLmsConverter(Matrix4x4 transformationMatrix) { - this.TransformationMatrix = transformationMatrix; + this.TransformationMatrix = Matrix4x4.Transpose(transformationMatrix); } /// diff --git a/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs b/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs index 9042eaa46c..ef9d051a1e 100644 --- a/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs +++ b/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs @@ -39,7 +39,7 @@ Rgb output = converter.ToRgb(input); // Assert - Assert.Equal(output.WorkingSpace, Rgb.DefaultWorkingSpace); + Assert.Equal(output.WorkingSpace, Rgb.DefaultWorkingSpace); // TODO: Change Assert.Equal to the correct order, first the expected, then the current value Assert.Equal(output.R, r, FloatComparerPrecision); Assert.Equal(output.G, g, FloatComparerPrecision); Assert.Equal(output.B, b, FloatComparerPrecision); From 1c2274e171acd889b00574246f7abd582b101cf2 Mon Sep 17 00:00:00 2001 From: Tornhoof Date: Tue, 18 Apr 2017 21:21:24 +0200 Subject: [PATCH 2/2] Improve precision of test asserts --- .../Colors/Colorspaces/RgbAndCieXyzConversionTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs b/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs index ef9d051a1e..182ba3037f 100644 --- a/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs +++ b/tests/ImageSharp.Tests/Colors/Colorspaces/RgbAndCieXyzConversionTest.cs @@ -81,7 +81,7 @@ [InlineData(1, 1, 1, 0.964220, 1.000000, 0.825210)] [InlineData(0, 0, 0, 0, 0, 0)] [InlineData(1, 0, 0, 0.436075, 0.222504, 0.013932)] - [InlineData(0, 1, 0, 0.385065, 0.716879, 0.097105)] + [InlineData(0, 1, 0, 0.385065, 0.716879, 0.0971045)] [InlineData(0, 0, 1, 0.143080, 0.060617, 0.714173)] [InlineData(0.754902, 0.501961, 0.100000, 0.315757, 0.273323, 0.035506)] public void Convert_SRGB_to_XYZ_D50(float r, float g, float b, float x, float y, float z) @@ -108,7 +108,7 @@ [InlineData(0, 0, 0, 0, 0, 0)] [InlineData(1, 0, 0, 0.412456, 0.212673, 0.019334)] [InlineData(0, 1, 0, 0.357576, 0.715152, 0.119192)] - [InlineData(0, 0, 1, 0.180437, 0.072175, 0.950304)] + [InlineData(0, 0, 1, 0.1804375, 0.072175, 0.950304)] [InlineData(0.754902, 0.501961, 0.100000, 0.297676, 0.267854, 0.045504)] public void Convert_SRGB_to_XYZ_D65(float r, float g, float b, float x, float y, float z) {