diff --git a/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs b/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs
index 19feeaa5d..9ef24b38a 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs
@@ -8,15 +8,13 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
///
/// The input color type.
/// The result color type.
- internal interface IColorConversion
- where T: struct
- where TResult: struct
+ internal interface IColorConversion
{
///
/// Performs the conversion from the input to an instance of the output type.
///
/// The input color instance.
/// The converted result
- TResult Convert(in T input);
+ TResult Convert(T input);
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs
index 15f50971a..0a5ae3627 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs
@@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyz Convert(in CieLab input)
+ public CieXyz Convert(CieLab input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs
index cdeda7f78..22308260c 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs
@@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor
///
/// The target reference lab white point
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyzToCieLabConverter(in CieXyz labWhitePoint)
+ public CieXyzToCieLabConverter(CieXyz labWhitePoint)
{
this.LabWhitePoint = labWhitePoint;
}
@@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLab Convert(in CieXyz input)
+ public CieLab Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs
index fcc8687fb..35fae30e8 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchColor
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLab Convert(in CieLch input)
+ public CieLab Convert(CieLch input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs
index 134cc1a08..aa4614f9c 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchColor
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLch Convert(in CieLab input)
+ public CieLch Convert(CieLab input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs
index 2cbb953b8..fc6554a90 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs
@@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
+using SixLabors.ImageSharp.ColorSpaces;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvColorSapce
{
@@ -13,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvCol
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLuv Convert(in CieLchuv input)
+ public CieLuv Convert(CieLchuv input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs
index 427fb8f83..f0d7a80a2 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvCol
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLchuv Convert(in CieLuv input)
+ public CieLchuv Convert(CieLuv input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs
index 03eddab44..50e8335ed 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs
@@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
+using SixLabors.ImageSharp.ColorSpaces;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColorSapce
{
@@ -13,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyz Convert(in CieLuv input)
+ public CieXyz Convert(CieLuv input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs
index 162f5b9c2..709d8d426 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs
@@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor
///
/// The target reference luv white point
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyzToCieLuvConverter(in CieXyz luvWhitePoint)
+ public CieXyzToCieLuvConverter(CieXyz luvWhitePoint)
{
this.LuvWhitePoint = luvWhitePoint;
}
@@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieLuv Convert(in CieXyz input)
+ public CieLuv Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs
index ef9672d6c..64fc84b1d 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs
@@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieXyyColor
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyy Convert(in CieXyz input)
+ public CieXyy Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
@@ -32,7 +32,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieXyyColor
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyz Convert(in CieXyy input)
+ public CieXyz Convert(CieXyy input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs
index be4be5e65..404bc811f 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CmykColorSa
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Rgb Convert(in Cmyk input)
+ public Rgb Convert(Cmyk input)
{
float r = (1F - input.C) * (1F - input.K);
float g = (1F - input.M) * (1F - input.K);
@@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CmykColorSa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Cmyk Convert(in Rgb input)
+ public Cmyk Convert(Rgb input)
{
// To CMYK
float c = 1F - input.R;
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs
index 597e571a8..3de3baddd 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs
@@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HslColorSap
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Rgb Convert(in Hsl input)
+ public Rgb Convert(Hsl input)
{
DebugGuard.NotNull(input, nameof(input));
@@ -48,7 +48,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HslColorSap
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Hsl Convert(in Rgb input)
+ public Hsl Convert(Rgb input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs
index 443252a63..6219533ca 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs
@@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
+using SixLabors.ImageSharp.ColorSpaces;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSapce
{
@@ -14,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSap
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Rgb Convert(in Hsv input)
+ public Rgb Convert(Hsv input)
{
DebugGuard.NotNull(input, nameof(input));
@@ -79,7 +80,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSap
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Hsv Convert(in Rgb input)
+ public Hsv Convert(Rgb input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs
index f13155120..7faf03c9a 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs
@@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo
///
/// The hunter Lab white point.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyzToHunterLabConverter(in CieXyz labWhitePoint)
+ public CieXyzToHunterLabConverter(CieXyz labWhitePoint)
{
this.HunterLabWhitePoint = labWhitePoint;
}
@@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public HunterLab Convert(in CieXyz input)
+ public HunterLab Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs
index d62eba30b..7e7c536e3 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo
{
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyz Convert(in HunterLab input)
+ public CieXyz Convert(HunterLab input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs
index 83a64d3d0..780c9e5a6 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs
@@ -3,6 +3,7 @@
using System.Numerics;
using System.Runtime.CompilerServices;
+using SixLabors.ImageSharp.ColorSpaces;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSapce
{
@@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSap
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Lms Convert(in CieXyz input)
+ public Lms Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
@@ -70,7 +71,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSap
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public CieXyz Convert(in Lms input)
+ public CieXyz Convert(Lms input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs
index 9c02aacaa..fd76a30fb 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs
@@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap
public IRgbWorkingSpace TargetWorkingSpace { get; }
///
- public LinearRgb Convert(in CieXyz input)
+ public LinearRgb Convert(CieXyz input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs
index 23625fc02..bf36e252a 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs
@@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap
public IRgbWorkingSpace SourceWorkingSpace { get; }
///
- public CieXyz Convert(in LinearRgb input)
+ public CieXyz Convert(LinearRgb input)
{
DebugGuard.NotNull(input, nameof(input));
DebugGuard.IsTrue(input.WorkingSpace.Equals(this.SourceWorkingSpace), nameof(input.WorkingSpace), "Input and source working spaces must be equal.");
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs
index e746b40c5..29ea0f314 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap
internal class LinearRgbToRgbConverter : IColorConversion
{
///
- public Rgb Convert(in LinearRgb input)
+ public Rgb Convert(LinearRgb input)
{
DebugGuard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs
index af2c39f0f..e40ecc192 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap
internal class RgbToLinearRgbConverter : IColorConversion
{
///
- public LinearRgb Convert(in Rgb input)
+ public LinearRgb Convert(Rgb input)
{
Guard.NotNull(input, nameof(input));
diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs
index 548fe6128..f552acbb4 100644
--- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs
+++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs
@@ -4,6 +4,7 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
+using SixLabors.ImageSharp.ColorSpaces;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorSapce
{
@@ -17,7 +18,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorS
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public Rgb Convert(in YCbCr input)
+ public Rgb Convert(YCbCr input)
{
DebugGuard.NotNull(input, nameof(input));
@@ -34,7 +35,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorS
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public YCbCr Convert(in Rgb input)
+ public YCbCr Convert(Rgb input)
{
DebugGuard.NotNull(input, nameof(input));