Browse Source

Pass by reference

pull/648/head
Jason Nelson 8 years ago
parent
commit
ba1bbfd7f4
  1. 16
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Adapt.cs
  2. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs
  3. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLch.cs
  4. 24
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLchuv.cs
  5. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLuv.cs
  6. 24
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieXyy.cs
  7. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieXyz.cs
  8. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Cmyk.cs
  9. 24
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Hsl.cs
  10. 24
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Hsv.cs
  11. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.HunterLab.cs
  12. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.LinearRgb.cs
  13. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Lms.cs
  14. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Rgb.cs
  15. 26
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.YCbCr.cs

16
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Adapt.cs

@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <param name="sourceWhitePoint">The white point to adapt for</param> /// <param name="sourceWhitePoint">The white point to adapt for</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public CieXyz Adapt(CieXyz color, CieXyz sourceWhitePoint) public CieXyz Adapt(in CieXyz color, in CieXyz sourceWhitePoint)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -33,7 +33,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public CieLab Adapt(CieLab color) public CieLab Adapt(in CieLab color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public CieLch Adapt(CieLch color) public CieLch Adapt(in CieLch color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -75,7 +75,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public CieLchuv Adapt(CieLchuv color) public CieLchuv Adapt(in CieLchuv color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -96,7 +96,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public CieLuv Adapt(CieLuv color) public CieLuv Adapt(in CieLuv color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -117,7 +117,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public HunterLab Adapt(HunterLab color) public HunterLab Adapt(in HunterLab color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -138,7 +138,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public LinearRgb Adapt(LinearRgb color) public LinearRgb Adapt(in LinearRgb color)
{ {
if (!this.IsChromaticAdaptationPerformed) if (!this.IsChromaticAdaptationPerformed)
{ {
@ -167,7 +167,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to adapt</param> /// <param name="color">The color to adapt</param>
/// <returns>The adapted color</returns> /// <returns>The adapted color</returns>
public Rgb Adapt(Rgb color) public Rgb Adapt(in Rgb color)
{ {
LinearRgb linearInput = this.ToLinearRgb(color); LinearRgb linearInput = this.ToLinearRgb(color);
LinearRgb linearOutput = this.Adapt(linearInput); LinearRgb linearOutput = this.Adapt(linearInput);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs

@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(CieLch color) public CieLab ToCieLab(in CieLch color)
{ {
// Conversion (perserving white point) // Conversion (perserving white point)
CieLab unadapted = CieLchToCieLabConverter.Convert(color); CieLab unadapted = CieLchToCieLabConverter.Convert(color);
@ -40,7 +40,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(CieLchuv color) public CieLab ToCieLab(in CieLchuv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(CieLuv color) public CieLab ToCieLab(in CieLuv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -62,7 +62,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(CieXyy color) public CieLab ToCieLab(in CieXyy color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -73,7 +73,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(CieXyz color) public CieLab ToCieLab(in CieXyz color)
{ {
// Adaptation // Adaptation
CieXyz adapted = !this.WhitePoint.Equals(this.TargetLabWhitePoint) && this.IsChromaticAdaptationPerformed CieXyz adapted = !this.WhitePoint.Equals(this.TargetLabWhitePoint) && this.IsChromaticAdaptationPerformed
@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(Cmyk color) public CieLab ToCieLab(in Cmyk color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(Hsl color) public CieLab ToCieLab(in Hsl color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -112,7 +112,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(Hsv color) public CieLab ToCieLab(in Hsv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -123,7 +123,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(HunterLab color) public CieLab ToCieLab(in HunterLab color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -134,7 +134,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(Lms color) public CieLab ToCieLab(in Lms color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -145,7 +145,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(LinearRgb color) public CieLab ToCieLab(in LinearRgb color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -156,7 +156,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(Rgb color) public CieLab ToCieLab(in Rgb color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);
@ -167,7 +167,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLab ToCieLab(YCbCr color) public CieLab ToCieLab(in YCbCr color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLab(xyzColor); return this.ToCieLab(xyzColor);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLch.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(CieLab color) public CieLch ToCieLch(in CieLab color)
{ {
// Adaptation // Adaptation
CieLab adapted = this.IsChromaticAdaptationPerformed ? this.Adapt(color) : color; CieLab adapted = this.IsChromaticAdaptationPerformed ? this.Adapt(color) : color;
@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(CieLchuv color) public CieLch ToCieLch(in CieLchuv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -45,7 +45,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(CieLuv color) public CieLch ToCieLch(in CieLuv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -56,7 +56,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(CieXyy color) public CieLch ToCieLch(in CieXyy color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -67,7 +67,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(CieXyz color) public CieLch ToCieLch(in CieXyz color)
{ {
CieLab labColor = this.ToCieLab(color); CieLab labColor = this.ToCieLab(color);
return this.ToCieLch(labColor); return this.ToCieLch(labColor);
@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(Cmyk color) public CieLch ToCieLch(in Cmyk color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(Hsl color) public CieLch ToCieLch(in Hsl color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -100,7 +100,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(Hsv color) public CieLch ToCieLch(in Hsv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(HunterLab color) public CieLch ToCieLch(in HunterLab color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -122,7 +122,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(LinearRgb color) public CieLch ToCieLch(in LinearRgb color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -133,7 +133,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(Lms color) public CieLch ToCieLch(in Lms color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -144,7 +144,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(Rgb color) public CieLch ToCieLch(in Rgb color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);
@ -155,7 +155,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLch"/></returns> /// <returns>The <see cref="CieLch"/></returns>
public CieLch ToCieLch(YCbCr color) public CieLch ToCieLch(in YCbCr color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLch(xyzColor); return this.ToCieLch(xyzColor);

24
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLchuv.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(CieLab color) public CieLchuv ToCieLchuv(in CieLab color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -31,7 +31,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(CieLch color) public CieLchuv ToCieLchuv(in CieLch color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(CieLuv color) public CieLchuv ToCieLchuv(in CieLuv color)
{ {
// Adaptation // Adaptation
CieLuv adapted = this.IsChromaticAdaptationPerformed ? this.Adapt(color) : color; CieLuv adapted = this.IsChromaticAdaptationPerformed ? this.Adapt(color) : color;
@ -56,7 +56,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(CieXyy color) public CieLchuv ToCieLchuv(in CieXyy color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -67,7 +67,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(CieXyz color) public CieLchuv ToCieLchuv(in CieXyz color)
{ {
CieLab labColor = this.ToCieLab(color); CieLab labColor = this.ToCieLab(color);
return this.ToCieLchuv(labColor); return this.ToCieLchuv(labColor);
@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(Cmyk color) public CieLchuv ToCieLchuv(in Cmyk color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(Hsl color) public CieLchuv ToCieLchuv(in Hsl color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -100,7 +100,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(Hsv color) public CieLchuv ToCieLchuv(in Hsv color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(HunterLab color) public CieLchuv ToCieLchuv(in HunterLab color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -122,7 +122,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(LinearRgb color) public CieLchuv ToCieLchuv(in LinearRgb color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -133,7 +133,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(Lms color) public CieLchuv ToCieLchuv(in Lms color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);
@ -155,7 +155,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLchuv"/></returns> /// <returns>The <see cref="CieLchuv"/></returns>
public CieLchuv ToCieLchuv(YCbCr color) public CieLchuv ToCieLchuv(in YCbCr color)
{ {
CieXyz xyzColor = this.ToCieXyz(color); CieXyz xyzColor = this.ToCieXyz(color);
return this.ToCieLchuv(xyzColor); return this.ToCieLchuv(xyzColor);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLuv.cs

@ -19,7 +19,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(CieLab color) public CieLuv ToCieLuv(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(CieLch color) public CieLuv ToCieLuv(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLab"/></returns> /// <returns>The <see cref="CieLab"/></returns>
public CieLuv ToCieLuv(CieLchuv color) public CieLuv ToCieLuv(in CieLchuv color)
{ {
// Conversion (perserving white point) // Conversion (perserving white point)
CieLuv unadapted = CieLchuvToCieLuvConverter.Convert(color); CieLuv unadapted = CieLchuvToCieLuvConverter.Convert(color);
@ -60,7 +60,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(CieXyy color) public CieLuv ToCieLuv(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(CieXyz color) public CieLuv ToCieLuv(in CieXyz color)
{ {
// Adaptation // Adaptation
CieXyz adapted = !this.WhitePoint.Equals(this.TargetLabWhitePoint) && this.IsChromaticAdaptationPerformed CieXyz adapted = !this.WhitePoint.Equals(this.TargetLabWhitePoint) && this.IsChromaticAdaptationPerformed
@ -88,7 +88,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(Cmyk color) public CieLuv ToCieLuv(in Cmyk color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -99,7 +99,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(Hsl color) public CieLuv ToCieLuv(in Hsl color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -110,7 +110,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(Hsv color) public CieLuv ToCieLuv(in Hsv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -121,7 +121,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(HunterLab color) public CieLuv ToCieLuv(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -132,7 +132,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(Lms color) public CieLuv ToCieLuv(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -143,7 +143,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(LinearRgb color) public CieLuv ToCieLuv(in LinearRgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -154,7 +154,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(Rgb color) public CieLuv ToCieLuv(in Rgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);
@ -165,7 +165,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieLuv"/></returns> /// <returns>The <see cref="CieLuv"/></returns>
public CieLuv ToCieLuv(YCbCr color) public CieLuv ToCieLuv(in YCbCr color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToCieLuv(xyzColor); return this.ToCieLuv(xyzColor);

24
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieXyy.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(CieLab color) public CieXyy ToCieXyy(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(CieLch color) public CieXyy ToCieXyy(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(CieLchuv color) public CieXyy ToCieXyy(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(CieLuv color) public CieXyy ToCieXyy(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(CieXyz color) public CieXyy ToCieXyy(in CieXyz color)
{ {
return CieXyzAndCieXyyConverter.Convert(color); return CieXyzAndCieXyyConverter.Convert(color);
} }
@ -75,7 +75,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(Cmyk color) public CieXyy ToCieXyy(in Cmyk color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -99,7 +99,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(Hsv color) public CieXyy ToCieXyy(in Hsv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(HunterLab color) public CieXyy ToCieXyy(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -123,7 +123,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(LinearRgb color) public CieXyy ToCieXyy(in LinearRgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -135,7 +135,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(Lms color) public CieXyy ToCieXyy(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -147,7 +147,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(Rgb color) public CieXyy ToCieXyy(in Rgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyy"/></returns> /// <returns>The <see cref="CieXyy"/></returns>
public CieXyy ToCieXyy(YCbCr color) public CieXyy ToCieXyy(in YCbCr color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieXyz.cs

@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(CieLab color) public CieXyz ToCieXyz(in CieLab color)
{ {
// Conversion // Conversion
CieXyz unadapted = CieLabToCieXyzConverter.Convert(color); CieXyz unadapted = CieLabToCieXyzConverter.Convert(color);
@ -44,7 +44,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(CieLch color) public CieXyz ToCieXyz(in CieLch color)
{ {
// Conversion to Lab // Conversion to Lab
CieLab labColor = CieLchToCieLabConverter.Convert(color); CieLab labColor = CieLchToCieLabConverter.Convert(color);
@ -58,7 +58,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(CieLchuv color) public CieXyz ToCieXyz(in CieLchuv color)
{ {
// Conversion to Luv // Conversion to Luv
CieLuv luvColor = CieLchuvToCieLuvConverter.Convert(color); CieLuv luvColor = CieLchuvToCieLuvConverter.Convert(color);
@ -72,7 +72,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(CieLuv color) public CieXyz ToCieXyz(in CieLuv color)
{ {
// Conversion // Conversion
CieXyz unadapted = CieLuvToCieXyzConverter.Convert(color); CieXyz unadapted = CieLuvToCieXyzConverter.Convert(color);
@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(CieXyy color) public CieXyz ToCieXyz(in CieXyy color)
{ {
// Conversion // Conversion
return CieXyzAndCieXyyConverter.Convert(color); return CieXyzAndCieXyyConverter.Convert(color);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(Cmyk color) public CieXyz ToCieXyz(in Cmyk color)
{ {
// Conversion // Conversion
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -114,7 +114,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(Hsl color) public CieXyz ToCieXyz(in Hsl color)
{ {
// Conversion // Conversion
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -127,7 +127,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(Hsv color) public CieXyz ToCieXyz(in Hsv color)
{ {
// Conversion // Conversion
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -140,7 +140,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(HunterLab color) public CieXyz ToCieXyz(in HunterLab color)
{ {
// Conversion // Conversion
CieXyz unadapted = HunterLabToCieXyzConverter.Convert(color); CieXyz unadapted = HunterLabToCieXyzConverter.Convert(color);
@ -158,7 +158,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(LinearRgb color) public CieXyz ToCieXyz(in LinearRgb color)
{ {
// Conversion // Conversion
LinearRgbToCieXyzConverter converter = this.GetLinearRgbToCieXyzConverter(color.WorkingSpace); LinearRgbToCieXyzConverter converter = this.GetLinearRgbToCieXyzConverter(color.WorkingSpace);
@ -175,7 +175,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(Lms color) public CieXyz ToCieXyz(in Lms color)
{ {
// Conversion // Conversion
return this.cachedCieXyzAndLmsConverter.Convert(color); return this.cachedCieXyzAndLmsConverter.Convert(color);
@ -186,7 +186,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(Rgb color) public CieXyz ToCieXyz(in Rgb color)
{ {
// Conversion // Conversion
LinearRgb linear = RgbToLinearRgbConverter.Convert(color); LinearRgb linear = RgbToLinearRgbConverter.Convert(color);
@ -198,7 +198,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="CieXyz"/></returns> /// <returns>The <see cref="CieXyz"/></returns>
public CieXyz ToCieXyz(YCbCr color) public CieXyz ToCieXyz(in YCbCr color)
{ {
// Conversion // Conversion
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Cmyk.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieLab color) public Cmyk ToCmyk(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieLch color) public Cmyk ToCmyk(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieLchuv color) public Cmyk ToCmyk(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieLuv color) public Cmyk ToCmyk(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieXyy color) public Cmyk ToCmyk(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(CieXyz color) public Cmyk ToCmyk(in CieXyz color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(Hsl color) public Cmyk ToCmyk(in Hsl color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(Hsv color) public Cmyk ToCmyk(in Hsv color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(HunterLab color) public Cmyk ToCmyk(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -125,7 +125,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(LinearRgb color) public Cmyk ToCmyk(in LinearRgb color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -137,7 +137,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(Lms color) public Cmyk ToCmyk(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -149,7 +149,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(Rgb color) public Cmyk ToCmyk(in Rgb color)
{ {
return CmykAndRgbConverter.Convert(color); return CmykAndRgbConverter.Convert(color);
} }
@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Cmyk"/></returns> /// <returns>The <see cref="Cmyk"/></returns>
public Cmyk ToCmyk(YCbCr color) public Cmyk ToCmyk(in YCbCr color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);

24
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Hsl.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieLab color) public Hsl ToHsl(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieLch color) public Hsl ToHsl(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieLchuv color) public Hsl ToHsl(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieLuv color) public Hsl ToHsl(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieXyy color) public Hsl ToHsl(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(CieXyz color) public Hsl ToHsl(in CieXyz color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(Cmyk color) public Hsl ToHsl(in Cmyk color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(Hsv color) public Hsl ToHsl(in Hsv color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(HunterLab color) public Hsl ToHsl(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -125,7 +125,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(LinearRgb color) public Hsl ToHsl(in LinearRgb color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -149,7 +149,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(Rgb color) public Hsl ToHsl(in Rgb color)
{ {
return HslAndRgbConverter.Convert(color); return HslAndRgbConverter.Convert(color);
} }
@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsl"/></returns> /// <returns>The <see cref="Hsl"/></returns>
public Hsl ToHsl(YCbCr color) public Hsl ToHsl(in YCbCr color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);

24
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Hsv.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieLab color) public Hsv ToHsv(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieLch color) public Hsv ToHsv(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieLchuv color) public Hsv ToHsv(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieLuv color) public Hsv ToHsv(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieXyy color) public Hsv ToHsv(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(CieXyz color) public Hsv ToHsv(in CieXyz color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(Cmyk color) public Hsv ToHsv(in Cmyk color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(Hsl color) public Hsv ToHsv(in Hsl color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(HunterLab color) public Hsv ToHsv(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -125,7 +125,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(LinearRgb color) public Hsv ToHsv(in LinearRgb color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -149,7 +149,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(Rgb color) public Hsv ToHsv(in Rgb color)
{ {
return HsvAndRgbConverter.Convert(color); return HsvAndRgbConverter.Convert(color);
} }
@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Hsv"/></returns> /// <returns>The <see cref="Hsv"/></returns>
public Hsv ToHsv(YCbCr color) public Hsv ToHsv(in YCbCr color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.HunterLab.cs

@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieLab color) public HunterLab ToHunterLab(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieLch color) public HunterLab ToHunterLab(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieLchuv color) public HunterLab ToHunterLab(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -48,7 +48,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieLuv color) public HunterLab ToHunterLab(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieXyy color) public HunterLab ToHunterLab(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -70,7 +70,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(CieXyz color) public HunterLab ToHunterLab(in CieXyz color)
{ {
// Adaptation // Adaptation
CieXyz adapted = !this.WhitePoint.Equals(this.TargetHunterLabWhitePoint) && this.IsChromaticAdaptationPerformed CieXyz adapted = !this.WhitePoint.Equals(this.TargetHunterLabWhitePoint) && this.IsChromaticAdaptationPerformed
@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(Cmyk color) public HunterLab ToHunterLab(in Cmyk color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -97,7 +97,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(Hsl color) public HunterLab ToHunterLab(in Hsl color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -108,7 +108,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(Hsv color) public HunterLab ToHunterLab(in Hsv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -119,7 +119,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(LinearRgb color) public HunterLab ToHunterLab(in LinearRgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -130,7 +130,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(Lms color) public HunterLab ToHunterLab(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -141,7 +141,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(Rgb color) public HunterLab ToHunterLab(in Rgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);
@ -152,7 +152,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="HunterLab"/></returns> /// <returns>The <see cref="HunterLab"/></returns>
public HunterLab ToHunterLab(YCbCr color) public HunterLab ToHunterLab(in YCbCr color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToHunterLab(xyzColor); return this.ToHunterLab(xyzColor);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.LinearRgb.cs

@ -19,7 +19,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieLab color) public LinearRgb ToLinearRgb(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieLch color) public LinearRgb ToLinearRgb(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieLchuv color) public LinearRgb ToLinearRgb(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -52,7 +52,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieLuv color) public LinearRgb ToLinearRgb(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieXyy color) public LinearRgb ToLinearRgb(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -74,7 +74,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(CieXyz color) public LinearRgb ToLinearRgb(in CieXyz color)
{ {
// Adaptation // Adaptation
CieXyz adapted = this.TargetRgbWorkingSpace.WhitePoint.Equals(this.WhitePoint) || !this.IsChromaticAdaptationPerformed CieXyz adapted = this.TargetRgbWorkingSpace.WhitePoint.Equals(this.WhitePoint) || !this.IsChromaticAdaptationPerformed
@ -91,7 +91,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(Cmyk color) public LinearRgb ToLinearRgb(in Cmyk color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
return this.ToLinearRgb(rgb); return this.ToLinearRgb(rgb);
@ -102,7 +102,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(Hsl color) public LinearRgb ToLinearRgb(in Hsl color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
return this.ToLinearRgb(rgb); return this.ToLinearRgb(rgb);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(Hsv color) public LinearRgb ToLinearRgb(in Hsv color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
return this.ToLinearRgb(rgb); return this.ToLinearRgb(rgb);
@ -124,7 +124,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(HunterLab color) public LinearRgb ToLinearRgb(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -135,7 +135,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(Lms color) public LinearRgb ToLinearRgb(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLinearRgb(xyzColor); return this.ToLinearRgb(xyzColor);
@ -146,7 +146,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(Rgb color) public LinearRgb ToLinearRgb(in Rgb color)
{ {
// Conversion // Conversion
return RgbToLinearRgbConverter.Convert(color); return RgbToLinearRgbConverter.Convert(color);
@ -157,7 +157,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="LinearRgb"/></returns> /// <returns>The <see cref="LinearRgb"/></returns>
public LinearRgb ToLinearRgb(YCbCr color) public LinearRgb ToLinearRgb(in YCbCr color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
return this.ToLinearRgb(rgb); return this.ToLinearRgb(rgb);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Lms.cs

@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieLab color) public Lms ToLms(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieLch color) public Lms ToLms(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieLchuv color) public Lms ToLms(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -48,7 +48,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieLuv color) public Lms ToLms(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieXyy color) public Lms ToLms(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -70,7 +70,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(CieXyz color) public Lms ToLms(in CieXyz color)
{ {
return this.cachedCieXyzAndLmsConverter.Convert(color); return this.cachedCieXyzAndLmsConverter.Convert(color);
} }
@ -80,7 +80,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(Cmyk color) public Lms ToLms(in Cmyk color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -91,7 +91,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(Hsl color) public Lms ToLms(in Hsl color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -102,7 +102,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(Hsv color) public Lms ToLms(in Hsv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(HunterLab color) public Lms ToLms(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -124,7 +124,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(LinearRgb color) public Lms ToLms(in LinearRgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -135,7 +135,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(Rgb color) public Lms ToLms(in Rgb color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);
@ -146,7 +146,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Lms"/></returns> /// <returns>The <see cref="Lms"/></returns>
public Lms ToLms(YCbCr color) public Lms ToLms(in YCbCr color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToLms(xyzColor); return this.ToLms(xyzColor);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Rgb.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieLab color) public Rgb ToRgb(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieLch color) public Rgb ToRgb(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -39,7 +39,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieLchuv color) public Rgb ToRgb(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieLuv color) public Rgb ToRgb(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -61,7 +61,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieXyy color) public Rgb ToRgb(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -72,7 +72,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(CieXyz color) public Rgb ToRgb(in CieXyz color)
{ {
// Conversion // Conversion
var linear = this.ToLinearRgb(color); var linear = this.ToLinearRgb(color);
@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(Cmyk color) public Rgb ToRgb(in Cmyk color)
{ {
// Conversion // Conversion
return CmykAndRgbConverter.Convert(color); return CmykAndRgbConverter.Convert(color);
@ -97,7 +97,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(Hsv color) public Rgb ToRgb(in Hsv color)
{ {
// Conversion // Conversion
return HsvAndRgbConverter.Convert(color); return HsvAndRgbConverter.Convert(color);
@ -108,7 +108,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(Hsl color) public Rgb ToRgb(in Hsl color)
{ {
// Conversion // Conversion
return HslAndRgbConverter.Convert(color); return HslAndRgbConverter.Convert(color);
@ -119,7 +119,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(HunterLab color) public Rgb ToRgb(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -130,7 +130,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(LinearRgb color) public Rgb ToRgb(in LinearRgb color)
{ {
// Conversion // Conversion
return LinearRgbToRgbConverter.Convert(color); return LinearRgbToRgbConverter.Convert(color);
@ -141,7 +141,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(Lms color) public Rgb ToRgb(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
return this.ToRgb(xyzColor); return this.ToRgb(xyzColor);
@ -152,7 +152,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="Rgb"/></returns> /// <returns>The <see cref="Rgb"/></returns>
public Rgb ToRgb(YCbCr color) public Rgb ToRgb(in YCbCr color)
{ {
// Conversion // Conversion
Rgb rgb = YCbCrAndRgbConverter.Convert(color); Rgb rgb = YCbCrAndRgbConverter.Convert(color);

26
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.YCbCr.cs

@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieLab color) public YCbCr ToYCbCr(in CieLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieLch color) public YCbCr ToYCbCr(in CieLch color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieLchuv color) public YCbCr ToYCbCr(in CieLchuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieLuv color) public YCbCr ToYCbCr(in CieLuv color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieXyy color) public YCbCr ToYCbCr(in CieXyy color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(CieXyz color) public YCbCr ToYCbCr(in CieXyz color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(Cmyk color) public YCbCr ToYCbCr(in Cmyk color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(Hsl color) public YCbCr ToYCbCr(in Hsl color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -113,7 +113,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(Hsv color) public YCbCr ToYCbCr(in Hsv color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -125,7 +125,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(HunterLab color) public YCbCr ToYCbCr(in HunterLab color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -137,7 +137,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(LinearRgb color) public YCbCr ToYCbCr(in LinearRgb color)
{ {
var rgb = this.ToRgb(color); var rgb = this.ToRgb(color);
@ -149,7 +149,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(Lms color) public YCbCr ToYCbCr(in Lms color)
{ {
var xyzColor = this.ToCieXyz(color); var xyzColor = this.ToCieXyz(color);
@ -161,7 +161,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
/// </summary> /// </summary>
/// <param name="color">The color to convert.</param> /// <param name="color">The color to convert.</param>
/// <returns>The <see cref="YCbCr"/></returns> /// <returns>The <see cref="YCbCr"/></returns>
public YCbCr ToYCbCr(Rgb color) public YCbCr ToYCbCr(in Rgb color)
{ {
return YCbCrAndRgbConverter.Convert(color); return YCbCrAndRgbConverter.Convert(color);
} }

Loading…
Cancel
Save