Browse Source

Update to latest main build

pull/1567/head
James Jackson-South 2 years ago
parent
commit
5f975e528d
  1. 48
      src/ImageSharp/ColorProfiles/Icc/Calculators/ClutCalculator.cs
  2. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/ColorTrcCalculator.cs
  3. 0
      src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.CalculationType.cs
  4. 1
      src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.cs
  5. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs
  6. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/ISingleCalculator.cs
  7. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/IVector4Calculator.cs
  8. 0
      src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.CalculationType.cs
  9. 1
      src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.cs
  10. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/LutCalculator.cs
  11. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/LutEntryCalculator.cs
  12. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/MatrixCalculator.cs
  13. 2
      src/ImageSharp/ColorProfiles/Icc/Calculators/ParametricCurveCalculator.cs
  14. 3
      src/ImageSharp/ColorProfiles/Icc/Calculators/TrcCalculator.cs
  15. 0
      src/ImageSharp/ColorProfiles/Icc/IccConverterBase.Checks.cs
  16. 0
      src/ImageSharp/ColorProfiles/Icc/IccConverterBase.ConversionMethod.cs
  17. 12
      src/ImageSharp/ColorProfiles/Icc/IccConverterbase.Conversions.cs
  18. 0
      src/ImageSharp/ColorProfiles/Icc/IccConverterbase.cs
  19. 3
      src/ImageSharp/ColorProfiles/Icc/IccDataToDataConverter.cs
  20. 3
      src/ImageSharp/ColorProfiles/Icc/IccDataToPcsConverter.cs
  21. 3
      src/ImageSharp/ColorProfiles/Icc/IccPcsToDataConverter.cs
  22. 3
      src/ImageSharp/ColorProfiles/Icc/IccPcsToPcsConverter.cs
  23. 24
      src/ImageSharp/ColorProfiles/Icc/IccProfileConverter.cs
  24. 0
      src/ImageSharp/ColorProfiles/Icc/SrgbV4Profile.Generated.cs
  25. 2
      src/ImageSharp/Formats/ImageDecoder.cs
  26. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ClutCalculatorTests.cs
  27. 2
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/CurveCalculatorTests.cs
  28. 2
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutABCalculatorTests.cs
  29. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutCalculatorTests.cs
  30. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/LutEntryCalculatorTests.cs
  31. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/MatrixCalculatorTests.cs
  32. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/ParametricCurveCalculatorTests.cs
  33. 4
      tests/ImageSharp.Tests/ColorProfiles/Icc/Calculators/TrcCalculatorTests.cs
  34. 5
      tests/ImageSharp.Tests/ColorProfiles/Icc/IccProfileConverterTests.cs
  35. 4
      tests/ImageSharp.Tests/ImageSharp.Tests.csproj

48
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ClutCalculator.cs → 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;
/// <summary>
/// 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<float> 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++)

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ColorTrcCalculator.cs → 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
{

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.CalculationType.cs → src/ImageSharp/ColorProfiles/Icc/Calculators/CurveCalculator.CalculationType.cs

1
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/CurveCalculator.cs → 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;

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/GrayTrcCalculator.cs → 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
{

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ISingleCalculator.cs → 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;
/// <summary>
/// Represents an ICC calculator with a single floating point value and result

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/IVector4Calculator.cs → 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;
/// <summary>
/// Represents an ICC calculator with <see cref="Vector4"/> values and results

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.CalculationType.cs → src/ImageSharp/ColorProfiles/Icc/Calculators/LutABCalculator.CalculationType.cs

1
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutABCalculator.cs → 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;

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutCalculator.cs → 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
{

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/LutEntryCalculator.cs → 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
{

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/MatrixCalculator.cs → 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
{

2
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/ParametricCurveCalculator.cs → 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
{

3
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/Calculators/TrcCalculator.cs → 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
{

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.Checks.cs → src/ImageSharp/ColorProfiles/Icc/IccConverterBase.Checks.cs

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterBase.ConversionMethod.cs → src/ImageSharp/ColorProfiles/Icc/IccConverterBase.ConversionMethod.cs

12
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.Conversions.cs → 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<IccMultiProcessElementsTagDataEntry>(profile, tag);
if (entry == null)
{
throw new InvalidIccProfileException("Entry is null.");
}
IccMultiProcessElementsTagDataEntry entry = GetTag<IccMultiProcessElementsTagDataEntry>(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<IccXyzTagDataEntry>(profile, IccProfileTag.RedMatrixColumn);
IccXyzTagDataEntry greenMatrixColumn = GetTag<IccXyzTagDataEntry>(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);

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccConverterbase.cs → src/ImageSharp/ColorProfiles/Icc/IccConverterbase.cs

3
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToDataConverter.cs → 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;
/// <summary>
/// Color converter for ICC profiles

3
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccDataToPcsConverter.cs → 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;
/// <summary>
/// Color converter for ICC profiles

3
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToDataConverter.cs → 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;
/// <summary>
/// Color converter for ICC profiles

3
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccPcsToPcsConverter.cs → 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;
/// <summary>
/// Color converter for ICC profiles

24
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/IccProfileConverter.cs → 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;
/// <summary>
/// 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<TPixel> row = accessor.GetRowSpan(y);
PixelOperations<TPixel>.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<CieLab, CieXyz>(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<CieXyz, CieLab>(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;
}

0
src/ImageSharp/ColorSpaces/Conversion/Implementation/Icc/SrgbV4Profile.Generated.cs → src/ImageSharp/ColorProfiles/Icc/SrgbV4Profile.Generated.cs

2
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;

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ClutCalculatorTests.cs → 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;
/// <summary>
/// Tests ICC <see cref="ClutCalculator"/>

2
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/CurveCalculatorTests.cs → 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;
/// <summary>
/// Tests ICC <see cref="CurveCalculator"/>

2
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutABCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="LutABCalculator"/>

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="LutCalculator"/>

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/LutEntryCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="LutEntryCalculator"/>

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/MatrixCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="MatrixCalculator"/>

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/ParametricCurveCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="ParametricCurveCalculator"/>

4
tests/ImageSharp.Tests/Colorspaces/Icc/Calculators/TrcCalculatorTests.cs → 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
{
/// <summary>
/// Tests ICC <see cref="TrcCalculator"/>

5
tests/ImageSharp.Tests/Colorspaces/Icc/IccProfileConverterTests.cs → 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();

4
tests/ImageSharp.Tests/ImageSharp.Tests.csproj

@ -80,5 +80,9 @@
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>
<ItemGroup>
<Folder Include="Colorspaces\" />
</ItemGroup>
</Project>

Loading…
Cancel
Save