Skip to content

Commit fb50f5b

Browse files
Replace old converter
1 parent 355bd04 commit fb50f5b

21 files changed

+92
-85
lines changed

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieLabCieLab.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieLabCieLab
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieLab>
1313
where TTo : struct, IColorProfile<TTo, CieLab>
1414
{
@@ -26,7 +26,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2626
CieLab pcsTo = CieLab.FromProfileConnectingSpace(options, in pcsFromB);
2727

2828
// Convert to output from PCS
29-
return TTo.FromProfileConnectingSpace(options, pcsTo);
29+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
3030
}
3131

3232
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieLabCieXyz.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieLabCieXyz
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieLab>
1313
where TTo : struct, IColorProfile<TTo, CieXyz>
1414
{
@@ -25,7 +25,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2525
pcsTo = VonKriesChromaticAdaptation.Transform(in pcsTo, whitePoints, options.AdaptationMatrix);
2626

2727
// Convert to output from PCS
28-
return TTo.FromProfileConnectingSpace(options, pcsTo);
28+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
2929
}
3030

3131
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieLabRgb.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieLabRgb
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieLab>
1313
where TTo : struct, IColorProfile<TTo, Rgb>
1414
{
@@ -26,7 +26,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2626
Rgb pcsTo = Rgb.FromProfileConnectingSpace(options, in pcsFromB);
2727

2828
// Convert to output from PCS
29-
return TTo.FromProfileConnectingSpace(options, pcsTo);
29+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
3030
}
3131

3232
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieXyzCieLab.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieXyzCieLab
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieXyz>
1313
where TTo : struct, IColorProfile<TTo, CieLab>
1414
{
@@ -25,7 +25,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2525
CieLab pcsTo = CieLab.FromProfileConnectingSpace(options, in pcsFrom);
2626

2727
// Convert to output from PCS
28-
return TTo.FromProfileConnectingSpace(options, pcsTo);
28+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
2929
}
3030

3131
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieXyzCieXyz.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieXyzCieXyz
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieXyz>
1313
where TTo : struct, IColorProfile<TTo, CieXyz>
1414
{
@@ -22,7 +22,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2222
pcsFrom = VonKriesChromaticAdaptation.Transform(in pcsFrom, whitePoints, options.AdaptationMatrix);
2323

2424
// Convert to output from PCS
25-
return TTo.FromProfileConnectingSpace(options, pcsFrom);
25+
return TTo.FromProfileConnectingSpace(options, in pcsFrom);
2626
}
2727

2828
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsCieXyzRgb.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsCieXyzRgb
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, CieXyz>
1313
where TTo : struct, IColorProfile<TTo, Rgb>
1414
{
@@ -25,7 +25,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2525
Rgb pcsTo = Rgb.FromProfileConnectingSpace(options, in pcsFrom);
2626

2727
// Convert to output from PCS
28-
return TTo.FromProfileConnectingSpace(options, pcsTo);
28+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
2929
}
3030

3131
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsRgbCieLab.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsRgbCieLab
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, Rgb>
1313
where TTo : struct, IColorProfile<TTo, CieLab>
1414
{
@@ -26,7 +26,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2626
CieLab pcsTo = CieLab.FromProfileConnectingSpace(options, in pcsFromB);
2727

2828
// Convert to output from PCS
29-
return TTo.FromProfileConnectingSpace(options, pcsTo);
29+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
3030
}
3131

3232
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsRgbCieXyz.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsRgbCieXyz
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, Rgb>
1313
where TTo : struct, IColorProfile<TTo, CieXyz>
1414
{
@@ -25,7 +25,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2525
pcsTo = VonKriesChromaticAdaptation.Transform(in pcsTo, whitePoints, options.AdaptationMatrix);
2626

2727
// Convert to output from PCS
28-
return TTo.FromProfileConnectingSpace(options, pcsTo);
28+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
2929
}
3030

3131
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/ColorProfiles/ColorProfileConverterExtensionsRgbRgb.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.ColorProfiles;
88

99
internal static class ColorProfileConverterExtensionsRgbRgb
1010
{
11-
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFrom source)
11+
public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, in TFrom source)
1212
where TFrom : struct, IColorProfile<TFrom, Rgb>
1313
where TTo : struct, IColorProfile<TTo, Rgb>
1414
{
@@ -26,7 +26,7 @@ public static TTo Convert<TFrom, TTo>(this ColorProfileConverter converter, TFro
2626
Rgb pcsTo = Rgb.FromProfileConnectingSpace(options, in pcsFromB);
2727

2828
// Convert to output from PCS
29-
return TTo.FromProfileConnectingSpace(options, pcsTo);
29+
return TTo.FromProfileConnectingSpace(options, in pcsTo);
3030
}
3131

3232
public static void Convert<TFrom, TTo>(this ColorProfileConverter converter, ReadOnlySpan<TFrom> source, Span<TTo> destination)

src/ImageSharp/Formats/Tiff/PhotometricInterpretation/CieLabPlanarTiffColor{TPixel}.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
// Licensed under the Six Labors Split License.
33

44
using System.Buffers;
5-
using SixLabors.ImageSharp.ColorSpaces;
6-
using SixLabors.ImageSharp.ColorSpaces.Conversion;
5+
using SixLabors.ImageSharp.ColorProfiles;
76
using SixLabors.ImageSharp.Memory;
87
using SixLabors.ImageSharp.PixelFormats;
98

@@ -16,7 +15,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation;
1615
internal class CieLabPlanarTiffColor<TPixel> : TiffBasePlanarColorDecoder<TPixel>
1716
where TPixel : unmanaged, IPixel<TPixel>
1817
{
19-
private static readonly ColorSpaceConverter ColorSpaceConverter = new();
18+
private static readonly ColorProfileConverter ColorProfileConverter = new();
2019

2120
private const float Inv255 = 1.0f / 255.0f;
2221

@@ -34,7 +33,7 @@ public override void Decode(IMemoryOwner<byte>[] data, Buffer2D<TPixel> pixels,
3433
for (int x = 0; x < pixelRow.Length; x++)
3534
{
3635
CieLab lab = new((l[offset] & 0xFF) * 100f * Inv255, (sbyte)a[offset], (sbyte)b[offset]);
37-
Rgb rgb = ColorSpaceConverter.ToRgb(lab);
36+
Rgb rgb = ColorProfileConverter.Convert<CieLab, Rgb>(in lab);
3837
pixelRow[x] = TPixel.FromScaledVector4(new(rgb.R, rgb.G, rgb.B, 1.0f));
3938

4039
offset++;

0 commit comments

Comments
 (0)