From 5f975e528ded3423ee0e5523c627bc6d9b4ab7d8 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 9 Jul 2024 16:28:00 +1000 Subject: [PATCH] Update to latest main build --- .../Icc/Calculators/ClutCalculator.cs | 48 +++++++++---------- .../Icc/Calculators/ColorTrcCalculator.cs | 2 +- .../CurveCalculator.CalculationType.cs | 0 .../Icc/Calculators/CurveCalculator.cs | 1 + .../Icc/Calculators/GrayTrcCalculator.cs | 2 +- .../Icc/Calculators/ISingleCalculator.cs | 2 +- .../Icc/Calculators/IVector4Calculator.cs | 2 +- .../LutABCalculator.CalculationType.cs | 0 .../Icc/Calculators/LutABCalculator.cs | 1 + .../Icc/Calculators/LutCalculator.cs | 2 +- .../Icc/Calculators/LutEntryCalculator.cs | 2 +- .../Icc/Calculators/MatrixCalculator.cs | 2 +- .../Calculators/ParametricCurveCalculator.cs | 2 +- .../Icc/Calculators/TrcCalculator.cs | 3 +- .../Icc/IccConverterBase.Checks.cs | 0 .../Icc/IccConverterBase.ConversionMethod.cs | 0 .../Icc/IccConverterbase.Conversions.cs | 12 ++--- .../Icc/IccConverterbase.cs | 0 .../Icc/IccDataToDataConverter.cs | 3 +- .../Icc/IccDataToPcsConverter.cs | 3 +- .../Icc/IccPcsToDataConverter.cs | 3 +- .../Icc/IccPcsToPcsConverter.cs | 3 +- .../Icc/IccProfileConverter.cs | 24 +++++----- .../Icc/SrgbV4Profile.Generated.cs | 0 src/ImageSharp/Formats/ImageDecoder.cs | 2 +- .../Icc/Calculators/ClutCalculatorTests.cs | 4 +- .../Icc/Calculators/CurveCalculatorTests.cs | 2 +- .../Icc/Calculators/LutABCalculatorTests.cs | 2 +- .../Icc/Calculators/LutCalculatorTests.cs | 4 +- .../Calculators/LutEntryCalculatorTests.cs | 4 +- .../Icc/Calculators/MatrixCalculatorTests.cs | 4 +- .../ParametricCurveCalculatorTests.cs | 4 +- .../Icc/Calculators/TrcCalculatorTests.cs | 4 +- .../Icc/IccProfileConverterTests.cs | 5 +- .../ImageSharp.Tests/ImageSharp.Tests.csproj | 4 ++ 35 files changed, 83 insertions(+), 73 deletions(-) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/ClutCalculator.cs (93%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/ColorTrcCalculator.cs (96%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/CurveCalculator.CalculationType.cs (100%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/CurveCalculator.cs (96%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/GrayTrcCalculator.cs (90%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/ISingleCalculator.cs (87%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/IVector4Calculator.cs (88%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/LutABCalculator.CalculationType.cs (100%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/LutABCalculator.cs (98%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/LutCalculator.cs (96%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/LutEntryCalculator.cs (97%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/MatrixCalculator.cs (91%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/ParametricCurveCalculator.cs (98%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/Calculators/TrcCalculator.cs (91%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccConverterBase.Checks.cs (100%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccConverterBase.ConversionMethod.cs (100%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccConverterbase.Conversions.cs (93%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccConverterbase.cs (100%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccDataToDataConverter.cs (85%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccDataToPcsConverter.cs (84%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccPcsToDataConverter.cs (84%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccPcsToPcsConverter.cs (83%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/IccProfileConverter.cs (85%) rename src/ImageSharp/{ColorSpaces/Conversion/Implementation => ColorProfiles}/Icc/SrgbV4Profile.Generated.cs (100%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/ClutCalculatorTests.cs (85%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/CurveCalculatorTests.cs (92%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/LutABCalculatorTests.cs (95%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/LutCalculatorTests.cs (85%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/LutEntryCalculatorTests.cs (91%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/MatrixCalculatorTests.cs (86%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/ParametricCurveCalculatorTests.cs (87%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/Calculators/TrcCalculatorTests.cs (87%) rename tests/ImageSharp.Tests/{Colorspaces => ColorProfiles}/Icc/IccProfileConverterTests.cs (95%) diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ClutCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/ClutCalculator.cs similarity index 93% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ClutCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/ClutCalculator.cs index 5aa208ee6a..d809c26c61 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ClutCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/ClutCalculator.cs @@ -4,7 +4,7 @@ using System.Numerics; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; /// /// Implements interpolation methods for color profile lookup tables. @@ -147,7 +147,7 @@ internal class ClutCalculator : IVector4Calculator this.nPower[count] = (uint)(1 << (this.inputCount - 1 - count)); } - uint[] nPower = { 0, 1 }; + uint[] nPower = [0, 1]; count = 0; int nFlag = 1; for (uint j = 1; j < this.nodeCount; j++) @@ -206,9 +206,7 @@ internal class ClutCalculator : IVector4Calculator int offset = 0; for (i = 0; i < this.outputCount; i++) { - float pv = (p[offset + this.n000] * dF0) + (p[offset + this.n001] * dF1); - - destPixel[i] = pv; + destPixel[i] = (float)((p[offset + this.n000] * dF0) + (p[offset + this.n001] * dF1)); offset++; } } @@ -259,9 +257,7 @@ internal class ClutCalculator : IVector4Calculator int offset = 0; for (i = 0; i < this.outputCount; i++) { - float pv = (p[offset + this.n000] * dF0) + (p[offset + this.n001] * dF1) + (p[offset + this.n010] * dF2) + (p[offset + this.n011] * dF3); - - destPixel[i] = pv; + destPixel[i] = (float)((p[offset + this.n000] * dF0) + (p[offset + this.n001] * dF1) + (p[offset + this.n010] * dF2) + (p[offset + this.n011] * dF3)); offset++; } } @@ -393,23 +389,25 @@ internal class ClutCalculator : IVector4Calculator Span p = this.lut.AsSpan((int)((iw * this.n001) + (ix * this.n010) + (iy * this.n100) + (iz * this.n1000))); // Normalize grid units. - float[] dF = new float[16]; - dF[0] = ns * nt * nu * nv; - dF[1] = ns * nt * nu * v; - dF[2] = ns * nt * u * nv; - dF[3] = ns * nt * u * v; - dF[4] = ns * t * nu * nv; - dF[5] = ns * t * nu * v; - dF[6] = ns * t * u * nv; - dF[7] = ns * t * u * v; - dF[8] = s * nt * nu * nv; - dF[9] = s * nt * nu * v; - dF[10] = s * nt * u * nv; - dF[11] = s * nt * u * v; - dF[12] = s * t * nu * nv; - dF[13] = s * t * nu * v; - dF[14] = s * t * u * nv; - dF[15] = s * t * u * v; + float[] dF = + [ + ns * nt * nu * nv, + ns * nt * nu * v, + ns * nt * u * nv, + ns * nt * u * v, + ns * t * nu * nv, + ns * t * nu * v, + ns * t * u * nv, + ns * t * u * v, + s * nt * nu * nv, + s * nt * nu * v, + s * nt * u * nv, + s * nt * u * v, + s * t * nu * nv, + s * t * nu * v, + s * t * u * nv, + s * t * u * v, + ]; int offset = 0; for (int i = 0; i < this.outputCount; i++) diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ColorTrcCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/ColorTrcCalculator.cs similarity index 96% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ColorTrcCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/ColorTrcCalculator.cs index ef557cc862..865deae422 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ColorTrcCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/ColorTrcCalculator.cs @@ -5,7 +5,7 @@ using System.Numerics; using System.Runtime.CompilerServices; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class ColorTrcCalculator : IVector4Calculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.CalculationType.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.CalculationType.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.CalculationType.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.CalculationType.cs diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.cs similarity index 96% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.cs index cb73f464d1..232f4349c2 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.cs @@ -2,6 +2,7 @@ // Licensed under the Six Labors Split License. #nullable disable +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/GrayTrcCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs similarity index 90% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/GrayTrcCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs index 4df47950ec..8d823c1e95 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/GrayTrcCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs @@ -5,7 +5,7 @@ using System.Numerics; using System.Runtime.CompilerServices; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class GrayTrcCalculator : IVector4Calculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ISingleCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/ISingleCalculator.cs similarity index 87% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ISingleCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/ISingleCalculator.cs index 3b4b4b51dd..ce9b7d2f9b 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ISingleCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/ISingleCalculator.cs @@ -1,7 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; /// /// Represents an ICC calculator with a single floating point value and result diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/IVector4Calculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/IVector4Calculator.cs similarity index 88% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/IVector4Calculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/IVector4Calculator.cs index 5baa4666cb..9beea79503 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/IVector4Calculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/IVector4Calculator.cs @@ -3,7 +3,7 @@ using System.Numerics; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; /// /// Represents an ICC calculator with values and results diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.CalculationType.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.CalculationType.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.CalculationType.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.CalculationType.cs diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.cs similarity index 98% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.cs index bc1cb73476..f891f66749 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.cs @@ -3,6 +3,7 @@ #nullable disable using System.Numerics; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutCalculator.cs similarity index 96% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/LutCalculator.cs index f15cc16588..824310b3ad 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutCalculator.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class LutCalculator : ISingleCalculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutEntryCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutEntryCalculator.cs similarity index 97% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutEntryCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/LutEntryCalculator.cs index 5d9d426fec..ea3d50ce79 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutEntryCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/LutEntryCalculator.cs @@ -6,7 +6,7 @@ using System.Numerics; using System.Runtime.CompilerServices; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class LutEntryCalculator : IVector4Calculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/MatrixCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/MatrixCalculator.cs similarity index 91% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/MatrixCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/MatrixCalculator.cs index 5997a9cdc8..6be1fdbf95 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/MatrixCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/MatrixCalculator.cs @@ -4,7 +4,7 @@ using System.Numerics; using System.Runtime.CompilerServices; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class MatrixCalculator : IVector4Calculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ParametricCurveCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/ParametricCurveCalculator.cs similarity index 98% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ParametricCurveCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/ParametricCurveCalculator.cs index b38c6ecdce..2a3945e270 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ParametricCurveCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/ParametricCurveCalculator.cs @@ -4,7 +4,7 @@ using System.Runtime.CompilerServices; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class ParametricCurveCalculator : ISingleCalculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/TrcCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/TrcCalculator.cs similarity index 91% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/TrcCalculator.cs rename to src/ImageSharp/ColorProfiles/Icc/Calculators/TrcCalculator.cs index a064610380..b4b5028ed7 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/TrcCalculator.cs +++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/TrcCalculator.cs @@ -3,9 +3,10 @@ using System.Numerics; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; internal class TrcCalculator : IVector4Calculator { diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.Checks.cs b/src/ImageSharp/ColorProfiles/Icc/IccConverterBase.Checks.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.Checks.cs rename to src/ImageSharp/ColorProfiles/Icc/IccConverterBase.Checks.cs diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.ConversionMethod.cs b/src/ImageSharp/ColorProfiles/Icc/IccConverterBase.ConversionMethod.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.ConversionMethod.cs rename to src/ImageSharp/ColorProfiles/Icc/IccConverterBase.ConversionMethod.cs diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.Conversions.cs b/src/ImageSharp/ColorProfiles/Icc/IccConverterbase.Conversions.cs similarity index 93% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.Conversions.cs rename to src/ImageSharp/ColorProfiles/Icc/IccConverterbase.Conversions.cs index 1a09390247..b67eccd03e 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.Conversions.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccConverterbase.Conversions.cs @@ -1,6 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; @@ -60,16 +61,13 @@ internal abstract partial class IccConverterBase private static IVector4Calculator InitD(IccProfile profile, IccProfileTag tag) { - IccMultiProcessElementsTagDataEntry entry = GetTag(profile, tag); - if (entry == null) - { - throw new InvalidIccProfileException("Entry is null."); - } + IccMultiProcessElementsTagDataEntry entry = GetTag(profile, tag) + ?? throw new InvalidIccProfileException("Entry is null."); throw new NotImplementedException("Multi process elements are not supported"); } - private static IVector4Calculator InitColorTrc(IccProfile profile, bool toPcs) + private static ColorTrcCalculator InitColorTrc(IccProfile profile, bool toPcs) { IccXyzTagDataEntry redMatrixColumn = GetTag(profile, IccProfileTag.RedMatrixColumn); IccXyzTagDataEntry greenMatrixColumn = GetTag(profile, IccProfileTag.GreenMatrixColumn); @@ -99,7 +97,7 @@ internal abstract partial class IccConverterBase toPcs); } - private static IVector4Calculator InitGrayTrc(IccProfile profile, bool toPcs) + private static GrayTrcCalculator InitGrayTrc(IccProfile profile, bool toPcs) { IccTagDataEntry entry = GetTag(profile, IccProfileTag.GrayTrc); return new GrayTrcCalculator(entry, toPcs); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.cs b/src/ImageSharp/ColorProfiles/Icc/IccConverterbase.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.cs rename to src/ImageSharp/ColorProfiles/Icc/IccConverterbase.cs diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToDataConverter.cs b/src/ImageSharp/ColorProfiles/Icc/IccDataToDataConverter.cs similarity index 85% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToDataConverter.cs rename to src/ImageSharp/ColorProfiles/Icc/IccDataToDataConverter.cs index 86e73b54df..173948a6eb 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToDataConverter.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccDataToDataConverter.cs @@ -1,9 +1,10 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc; /// /// Color converter for ICC profiles diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToPcsConverter.cs b/src/ImageSharp/ColorProfiles/Icc/IccDataToPcsConverter.cs similarity index 84% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToPcsConverter.cs rename to src/ImageSharp/ColorProfiles/Icc/IccDataToPcsConverter.cs index 86ed81240b..d9e42a8d97 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToPcsConverter.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccDataToPcsConverter.cs @@ -1,9 +1,10 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc; /// /// Color converter for ICC profiles diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToDataConverter.cs b/src/ImageSharp/ColorProfiles/Icc/IccPcsToDataConverter.cs similarity index 84% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToDataConverter.cs rename to src/ImageSharp/ColorProfiles/Icc/IccPcsToDataConverter.cs index c38f7b64e0..d174529b65 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToDataConverter.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccPcsToDataConverter.cs @@ -1,9 +1,10 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc; /// /// Color converter for ICC profiles diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToPcsConverter.cs b/src/ImageSharp/ColorProfiles/Icc/IccPcsToPcsConverter.cs similarity index 83% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToPcsConverter.cs rename to src/ImageSharp/ColorProfiles/Icc/IccPcsToPcsConverter.cs index 7d85203df5..98e069e401 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToPcsConverter.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccPcsToPcsConverter.cs @@ -1,9 +1,10 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc; /// /// Color converter for ICC profiles diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccProfileConverter.cs b/src/ImageSharp/ColorProfiles/Icc/IccProfileConverter.cs similarity index 85% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccProfileConverter.cs rename to src/ImageSharp/ColorProfiles/Icc/IccProfileConverter.cs index 671e9aa4c0..6ce8178ded 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccProfileConverter.cs +++ b/src/ImageSharp/ColorProfiles/Icc/IccProfileConverter.cs @@ -4,12 +4,11 @@ using System.Buffers; using System.Numerics; using SixLabors.ImageSharp.Advanced; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.PixelFormats; -namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.Icc; +namespace SixLabors.ImageSharp.ColorProfiles.Icc; /// /// Allows the conversion between ICC profiles. @@ -41,10 +40,10 @@ internal static class IccProfileConverter image.ProcessPixelRows(accessor => { - Vector3 illuminant = outputIccProfile.Header.PcsIlluminant; - ColorSpaceConverter converter = new(new ColorSpaceConverterOptions() + ColorProfileConverter converter = new(new ColorConversionOptions() { - WhitePoint = new(illuminant), + WhitePoint = new CieXyz(inputIccProfile.Header.PcsIlluminant), + TargetWhitePoint = new CieXyz(outputIccProfile.Header.PcsIlluminant), }); // TODO: Our Xxy/Lab conversion are dependent on the version number. We are applying the conversion using V4 @@ -61,27 +60,29 @@ internal static class IccProfileConverter Span row = accessor.GetRowSpan(y); PixelOperations.Instance.ToVector4(configuration, row, vectorsSpan, PixelConversionModifiers.Scale); - if (inputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieLab - && outputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieXyz) + if (inputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieLab && + outputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieXyz) { for (int x = 0; x < vectorsSpan.Length; x++) { Vector4 pcs = converterDataToPcs.Calculate(vectorsSpan[x]); temp[x] = pcs; pcs = PcsToLab(pcs); - CieXyz xyz = converter.ToCieXyz(new CieLab(pcs.X, pcs.Y, pcs.Z, new CieXyz(inputIccProfile.Header.PcsIlluminant))); + CieLab lab = new(pcs.X, pcs.Y, pcs.Z); + CieXyz xyz = converter.Convert(in lab); pcs = XyzToPcs(pcs, xyz); vectorsSpan[x] = converterPcsToData.Calculate(pcs); } } - else if (inputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieXyz - && outputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieLab) + else if (inputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieXyz && + outputIccProfile.Header.ProfileConnectionSpace == IccColorSpaceType.CieLab) { for (int x = 0; x < vectorsSpan.Length; x++) { Vector4 pcs = converterDataToPcs.Calculate(vectorsSpan[x]); - CieLab lab = converter.ToCieLab(new CieXyz(pcs.X, pcs.Y, pcs.Z)); + CieXyz xyz = new(pcs.X, pcs.Y, pcs.Z); + CieLab lab = converter.Convert(in xyz); pcs = LabToPcs(pcs, lab); vectorsSpan[x] = converterPcsToData.Calculate(pcs); } @@ -121,6 +122,7 @@ internal static class IccProfileConverter private static unsafe Vector4 XyzToPcs(Vector4 input, CieXyz xyz) { Vector3* v = (Vector3*)&input; + v[0] = xyz.ToVector3(); v[0] *= 32768 / 65535f; return input; } diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/SrgbV4Profile.Generated.cs b/src/ImageSharp/ColorProfiles/Icc/SrgbV4Profile.Generated.cs similarity index 100% rename from src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/SrgbV4Profile.Generated.cs rename to src/ImageSharp/ColorProfiles/Icc/SrgbV4Profile.Generated.cs diff --git a/src/ImageSharp/Formats/ImageDecoder.cs b/src/ImageSharp/Formats/ImageDecoder.cs index af999e77d7..721fb2ec35 100644 --- a/src/ImageSharp/Formats/ImageDecoder.cs +++ b/src/ImageSharp/Formats/ImageDecoder.cs @@ -1,8 +1,8 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorProfiles.Icc; using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.Icc; using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.PixelFormats; diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ClutCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ClutCalculatorTests.cs similarity index 85% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ClutCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ClutCalculatorTests.cs index 9ca24f8b1d..249e7f4ed1 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ClutCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ClutCalculatorTests.cs @@ -2,11 +2,11 @@ // Licensed under the Six Labors Split License. using System.Numerics; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators; +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators; /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/CurveCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/CurveCalculatorTests.cs similarity index 92% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/CurveCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/CurveCalculatorTests.cs index 7e8e49d47f..0608637619 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/CurveCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/CurveCalculatorTests.cs @@ -5,7 +5,7 @@ using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators; +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators; /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutABCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutABCalculatorTests.cs similarity index 95% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutABCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutABCalculatorTests.cs index 4b0ec9af1a..5be984b4b9 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutABCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutABCalculatorTests.cs @@ -6,7 +6,7 @@ using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutCalculatorTests.cs similarity index 85% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutCalculatorTests.cs index bce04cf709..d5d2736f71 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutCalculatorTests.cs @@ -1,10 +1,10 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutEntryCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutEntryCalculatorTests.cs similarity index 91% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutEntryCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutEntryCalculatorTests.cs index e275b66634..0493521140 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutEntryCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutEntryCalculatorTests.cs @@ -2,11 +2,11 @@ // Licensed under the Six Labors Split License. using System.Numerics; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/MatrixCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/MatrixCalculatorTests.cs similarity index 86% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/MatrixCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/MatrixCalculatorTests.cs index 1770b2e9fb..22b25b84d1 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/MatrixCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/MatrixCalculatorTests.cs @@ -2,10 +2,10 @@ // Licensed under the Six Labors Split License. using System.Numerics; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ParametricCurveCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ParametricCurveCalculatorTests.cs similarity index 87% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ParametricCurveCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ParametricCurveCalculatorTests.cs index 5a7511ba06..ca3608b8cf 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ParametricCurveCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ParametricCurveCalculatorTests.cs @@ -1,11 +1,11 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/TrcCalculatorTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/TrcCalculatorTests.cs similarity index 87% rename from tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/TrcCalculatorTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/TrcCalculatorTests.cs index 4029cc326d..d86e32453d 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/TrcCalculatorTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/TrcCalculatorTests.cs @@ -2,11 +2,11 @@ // Licensed under the Six Labors Split License. using System.Numerics; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; +using SixLabors.ImageSharp.ColorProfiles.Icc.Calculators; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Tests.TestDataIcc.Conversion; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc.Calculators +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc.Calculators { /// /// Tests ICC diff --git a/tests/ImageSharp.Tests/Colorspaces/Icc/IccProfileConverterTests.cs b/tests/ImageSharp.Tests/ColorProfiles/Icc/IccProfileConverterTests.cs similarity index 95% rename from tests/ImageSharp.Tests/Colorspaces/Icc/IccProfileConverterTests.cs rename to tests/ImageSharp.Tests/ColorProfiles/Icc/IccProfileConverterTests.cs index 1decff7712..84549c0ee4 100644 --- a/tests/ImageSharp.Tests/Colorspaces/Icc/IccProfileConverterTests.cs +++ b/tests/ImageSharp.Tests/ColorProfiles/Icc/IccProfileConverterTests.cs @@ -1,14 +1,15 @@ // Copyright (c) Six Labors. // Licensed under the Six Labors Split License. +using SixLabors.ImageSharp.ColorProfiles.Icc; using SixLabors.ImageSharp.ColorSpaces.Conversion.Icc; -using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.Icc; using SixLabors.ImageSharp.Formats.Png; using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; -namespace SixLabors.ImageSharp.Tests.Colorspaces.Icc; +namespace SixLabors.ImageSharp.Tests.ColorProfiles.Icc; + public class IccProfileConverterTests { private static readonly PngEncoder Encoder = new(); diff --git a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj index 41e6e525f8..f59da8361c 100644 --- a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj +++ b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj @@ -80,5 +80,9 @@ + + + +