diff --git a/src/ImageSharp/Color/Color.NamedColors.cs b/src/ImageSharp/Color/Color.NamedColors.cs
index 0575a3e99e..8eb3fbcaf7 100644
--- a/src/ImageSharp/Color/Color.NamedColors.cs
+++ b/src/ImageSharp/Color/Color.NamedColors.cs
@@ -1,6 +1,9 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
+using System;
+using System.Collections.Generic;
+
namespace SixLabors.ImageSharp
{
///
@@ -8,6 +11,8 @@ namespace SixLabors.ImageSharp
///
public readonly partial struct Color
{
+ private static readonly Lazy> NamedColorsLookupLazy = new Lazy>(CreateNamedColorsLookup, true);
+
///
/// Represents a matching the W3C definition that has an hex value of #F0F8FF.
///
@@ -111,7 +116,7 @@ public readonly partial struct Color
///
/// Represents a matching the W3C definition that has an hex value of #00FFFF.
///
- public static readonly Color Cyan = FromRgba(0, 255, 255, 255);
+ public static readonly Color Cyan = Aqua;
///
/// Represents a matching the W3C definition that has an hex value of #00008B.
@@ -138,6 +143,11 @@ public readonly partial struct Color
///
public static readonly Color DarkGreen = FromRgba(0, 100, 0, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #A9A9A9.
+ ///
+ public static readonly Color DarkGrey = DarkGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #BDB76B.
///
@@ -188,6 +198,11 @@ public readonly partial struct Color
///
public static readonly Color DarkSlateGray = FromRgba(47, 79, 79, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #2F4F4F.
+ ///
+ public static readonly Color DarkSlateGrey = DarkSlateGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #00CED1.
///
@@ -213,6 +228,11 @@ public readonly partial struct Color
///
public static readonly Color DimGray = FromRgba(105, 105, 105, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #696969.
+ ///
+ public static readonly Color DimGrey = DimGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #1E90FF.
///
@@ -273,6 +293,11 @@ public readonly partial struct Color
///
public static readonly Color GreenYellow = FromRgba(173, 255, 47, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #808080.
+ ///
+ public static readonly Color Grey = Gray;
+
///
/// Represents a matching the W3C definition that has an hex value of #F0FFF0.
///
@@ -353,6 +378,11 @@ public readonly partial struct Color
///
public static readonly Color LightGreen = FromRgba(144, 238, 144, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #D3D3D3.
+ ///
+ public static readonly Color LightGrey = LightGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #FFB6C1.
///
@@ -378,6 +408,11 @@ public readonly partial struct Color
///
public static readonly Color LightSlateGray = FromRgba(119, 136, 153, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #778899.
+ ///
+ public static readonly Color LightSlateGrey = LightSlateGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #B0C4DE.
///
@@ -406,7 +441,7 @@ public readonly partial struct Color
///
/// Represents a matching the W3C definition that has an hex value of #FF00FF.
///
- public static readonly Color Magenta = FromRgba(255, 0, 255, 255);
+ public static readonly Color Magenta = Fuchsia;
///
/// Represents a matching the W3C definition that has an hex value of #800000.
@@ -643,6 +678,11 @@ public readonly partial struct Color
///
public static readonly Color SlateGray = FromRgba(112, 128, 144, 255);
+ ///
+ /// Represents a matching the W3C definition that has an hex value of #708090.
+ ///
+ public static readonly Color SlateGrey = SlateGray;
+
///
/// Represents a matching the W3C definition that has an hex value of #FFFAFA.
///
@@ -717,5 +757,161 @@ public readonly partial struct Color
/// Represents a matching the W3C definition that has an hex value of #9ACD32.
///
public static readonly Color YellowGreen = FromRgba(154, 205, 50, 255);
+
+ private static Dictionary CreateNamedColorsLookup()
+ {
+ return new Dictionary(StringComparer.OrdinalIgnoreCase)
+ {
+ { nameof(AliceBlue), AliceBlue },
+ { nameof(AntiqueWhite), AntiqueWhite },
+ { nameof(Aqua), Aqua },
+ { nameof(Aquamarine), Aquamarine },
+ { nameof(Azure), Azure },
+ { nameof(Beige), Beige },
+ { nameof(Bisque), Bisque },
+ { nameof(Black), Black },
+ { nameof(BlanchedAlmond), BlanchedAlmond },
+ { nameof(Blue), Blue },
+ { nameof(BlueViolet), BlueViolet },
+ { nameof(Brown), Brown },
+ { nameof(BurlyWood), BurlyWood },
+ { nameof(CadetBlue), CadetBlue },
+ { nameof(Chartreuse), Chartreuse },
+ { nameof(Chocolate), Chocolate },
+ { nameof(Coral), Coral },
+ { nameof(CornflowerBlue), CornflowerBlue },
+ { nameof(Cornsilk), Cornsilk },
+ { nameof(Crimson), Crimson },
+ { nameof(Cyan), Cyan },
+ { nameof(DarkBlue), DarkBlue },
+ { nameof(DarkCyan), DarkCyan },
+ { nameof(DarkGoldenrod), DarkGoldenrod },
+ { nameof(DarkGray), DarkGray },
+ { nameof(DarkGreen), DarkGreen },
+ { nameof(DarkGrey), DarkGrey },
+ { nameof(DarkKhaki), DarkKhaki },
+ { nameof(DarkMagenta), DarkMagenta },
+ { nameof(DarkOliveGreen), DarkOliveGreen },
+ { nameof(DarkOrange), DarkOrange },
+ { nameof(DarkOrchid), DarkOrchid },
+ { nameof(DarkRed), DarkRed },
+ { nameof(DarkSalmon), DarkSalmon },
+ { nameof(DarkSeaGreen), DarkSeaGreen },
+ { nameof(DarkSlateBlue), DarkSlateBlue },
+ { nameof(DarkSlateGray), DarkSlateGray },
+ { nameof(DarkSlateGrey), DarkSlateGrey },
+ { nameof(DarkTurquoise), DarkTurquoise },
+ { nameof(DarkViolet), DarkViolet },
+ { nameof(DeepPink), DeepPink },
+ { nameof(DeepSkyBlue), DeepSkyBlue },
+ { nameof(DimGray), DimGray },
+ { nameof(DimGrey), DimGrey },
+ { nameof(DodgerBlue), DodgerBlue },
+ { nameof(Firebrick), Firebrick },
+ { nameof(FloralWhite), FloralWhite },
+ { nameof(ForestGreen), ForestGreen },
+ { nameof(Fuchsia), Fuchsia },
+ { nameof(Gainsboro), Gainsboro },
+ { nameof(GhostWhite), GhostWhite },
+ { nameof(Gold), Gold },
+ { nameof(Goldenrod), Goldenrod },
+ { nameof(Gray), Gray },
+ { nameof(Green), Green },
+ { nameof(GreenYellow), GreenYellow },
+ { nameof(Grey), Grey },
+ { nameof(Honeydew), Honeydew },
+ { nameof(HotPink), HotPink },
+ { nameof(IndianRed), IndianRed },
+ { nameof(Indigo), Indigo },
+ { nameof(Ivory), Ivory },
+ { nameof(Khaki), Khaki },
+ { nameof(Lavender), Lavender },
+ { nameof(LavenderBlush), LavenderBlush },
+ { nameof(LawnGreen), LawnGreen },
+ { nameof(LemonChiffon), LemonChiffon },
+ { nameof(LightBlue), LightBlue },
+ { nameof(LightCoral), LightCoral },
+ { nameof(LightCyan), LightCyan },
+ { nameof(LightGoldenrodYellow), LightGoldenrodYellow },
+ { nameof(LightGray), LightGray },
+ { nameof(LightGreen), LightGreen },
+ { nameof(LightGrey), LightGrey },
+ { nameof(LightPink), LightPink },
+ { nameof(LightSalmon), LightSalmon },
+ { nameof(LightSeaGreen), LightSeaGreen },
+ { nameof(LightSkyBlue), LightSkyBlue },
+ { nameof(LightSlateGray), LightSlateGray },
+ { nameof(LightSlateGrey), LightSlateGrey },
+ { nameof(LightSteelBlue), LightSteelBlue },
+ { nameof(LightYellow), LightYellow },
+ { nameof(Lime), Lime },
+ { nameof(LimeGreen), LimeGreen },
+ { nameof(Linen), Linen },
+ { nameof(Magenta), Magenta },
+ { nameof(Maroon), Maroon },
+ { nameof(MediumAquamarine), MediumAquamarine },
+ { nameof(MediumBlue), MediumBlue },
+ { nameof(MediumOrchid), MediumOrchid },
+ { nameof(MediumPurple), MediumPurple },
+ { nameof(MediumSeaGreen), MediumSeaGreen },
+ { nameof(MediumSlateBlue), MediumSlateBlue },
+ { nameof(MediumSpringGreen), MediumSpringGreen },
+ { nameof(MediumTurquoise), MediumTurquoise },
+ { nameof(MediumVioletRed), MediumVioletRed },
+ { nameof(MidnightBlue), MidnightBlue },
+ { nameof(MintCream), MintCream },
+ { nameof(MistyRose), MistyRose },
+ { nameof(Moccasin), Moccasin },
+ { nameof(NavajoWhite), NavajoWhite },
+ { nameof(Navy), Navy },
+ { nameof(OldLace), OldLace },
+ { nameof(Olive), Olive },
+ { nameof(OliveDrab), OliveDrab },
+ { nameof(Orange), Orange },
+ { nameof(OrangeRed), OrangeRed },
+ { nameof(Orchid), Orchid },
+ { nameof(PaleGoldenrod), PaleGoldenrod },
+ { nameof(PaleGreen), PaleGreen },
+ { nameof(PaleTurquoise), PaleTurquoise },
+ { nameof(PaleVioletRed), PaleVioletRed },
+ { nameof(PapayaWhip), PapayaWhip },
+ { nameof(PeachPuff), PeachPuff },
+ { nameof(Peru), Peru },
+ { nameof(Pink), Pink },
+ { nameof(Plum), Plum },
+ { nameof(PowderBlue), PowderBlue },
+ { nameof(Purple), Purple },
+ { nameof(RebeccaPurple), RebeccaPurple },
+ { nameof(Red), Red },
+ { nameof(RosyBrown), RosyBrown },
+ { nameof(RoyalBlue), RoyalBlue },
+ { nameof(SaddleBrown), SaddleBrown },
+ { nameof(Salmon), Salmon },
+ { nameof(SandyBrown), SandyBrown },
+ { nameof(SeaGreen), SeaGreen },
+ { nameof(SeaShell), SeaShell },
+ { nameof(Sienna), Sienna },
+ { nameof(Silver), Silver },
+ { nameof(SkyBlue), SkyBlue },
+ { nameof(SlateBlue), SlateBlue },
+ { nameof(SlateGray), SlateGray },
+ { nameof(SlateGrey), SlateGrey },
+ { nameof(Snow), Snow },
+ { nameof(SpringGreen), SpringGreen },
+ { nameof(SteelBlue), SteelBlue },
+ { nameof(Tan), Tan },
+ { nameof(Teal), Teal },
+ { nameof(Thistle), Thistle },
+ { nameof(Tomato), Tomato },
+ { nameof(Transparent), Transparent },
+ { nameof(Turquoise), Turquoise },
+ { nameof(Violet), Violet },
+ { nameof(Wheat), Wheat },
+ { nameof(White), White },
+ { nameof(WhiteSmoke), WhiteSmoke },
+ { nameof(Yellow), Yellow },
+ { nameof(YellowGreen), YellowGreen }
+ };
+ }
}
}
diff --git a/src/ImageSharp/Color/Color.WernerPalette.cs b/src/ImageSharp/Color/Color.WernerPalette.cs
index 768fe065cd..2948b4c52c 100644
--- a/src/ImageSharp/Color/Color.WernerPalette.cs
+++ b/src/ImageSharp/Color/Color.WernerPalette.cs
@@ -20,116 +20,116 @@ public partial struct Color
private static Color[] CreateWernerPalette() => new[]
{
- FromHex("#f1e9cd"),
- FromHex("#f2e7cf"),
- FromHex("#ece6d0"),
- FromHex("#f2eacc"),
- FromHex("#f3e9ca"),
- FromHex("#f2ebcd"),
- FromHex("#e6e1c9"),
- FromHex("#e2ddc6"),
- FromHex("#cbc8b7"),
- FromHex("#bfbbb0"),
- FromHex("#bebeb3"),
- FromHex("#b7b5ac"),
- FromHex("#bab191"),
- FromHex("#9c9d9a"),
- FromHex("#8a8d84"),
- FromHex("#5b5c61"),
- FromHex("#555152"),
- FromHex("#413f44"),
- FromHex("#454445"),
- FromHex("#423937"),
- FromHex("#433635"),
- FromHex("#252024"),
- FromHex("#241f20"),
- FromHex("#281f3f"),
- FromHex("#1c1949"),
- FromHex("#4f638d"),
- FromHex("#383867"),
- FromHex("#5c6b8f"),
- FromHex("#657abb"),
- FromHex("#6f88af"),
- FromHex("#7994b5"),
- FromHex("#6fb5a8"),
- FromHex("#719ba2"),
- FromHex("#8aa1a6"),
- FromHex("#d0d5d3"),
- FromHex("#8590ae"),
- FromHex("#3a2f52"),
- FromHex("#39334a"),
- FromHex("#6c6d94"),
- FromHex("#584c77"),
- FromHex("#533552"),
- FromHex("#463759"),
- FromHex("#bfbac0"),
- FromHex("#77747f"),
- FromHex("#4a475c"),
- FromHex("#b8bfaf"),
- FromHex("#b2b599"),
- FromHex("#979c84"),
- FromHex("#5d6161"),
- FromHex("#61ac86"),
- FromHex("#a4b6a7"),
- FromHex("#adba98"),
- FromHex("#93b778"),
- FromHex("#7d8c55"),
- FromHex("#33431e"),
- FromHex("#7c8635"),
- FromHex("#8e9849"),
- FromHex("#c2c190"),
- FromHex("#67765b"),
- FromHex("#ab924b"),
- FromHex("#c8c76f"),
- FromHex("#ccc050"),
- FromHex("#ebdd99"),
- FromHex("#ab9649"),
- FromHex("#dbc364"),
- FromHex("#e6d058"),
- FromHex("#ead665"),
- FromHex("#d09b2c"),
- FromHex("#a36629"),
- FromHex("#a77d35"),
- FromHex("#f0d696"),
- FromHex("#d7c485"),
- FromHex("#f1d28c"),
- FromHex("#efcc83"),
- FromHex("#f3daa7"),
- FromHex("#dfa837"),
- FromHex("#ebbc71"),
- FromHex("#d17c3f"),
- FromHex("#92462f"),
- FromHex("#be7249"),
- FromHex("#bb603c"),
- FromHex("#c76b4a"),
- FromHex("#a75536"),
- FromHex("#b63e36"),
- FromHex("#b5493a"),
- FromHex("#cd6d57"),
- FromHex("#711518"),
- FromHex("#e9c49d"),
- FromHex("#eedac3"),
- FromHex("#eecfbf"),
- FromHex("#ce536b"),
- FromHex("#b74a70"),
- FromHex("#b7757c"),
- FromHex("#612741"),
- FromHex("#7a4848"),
- FromHex("#3f3033"),
- FromHex("#8d746f"),
- FromHex("#4d3635"),
- FromHex("#6e3b31"),
- FromHex("#864735"),
- FromHex("#553d3a"),
- FromHex("#613936"),
- FromHex("#7a4b3a"),
- FromHex("#946943"),
- FromHex("#c39e6d"),
- FromHex("#513e32"),
- FromHex("#8b7859"),
- FromHex("#9b856b"),
- FromHex("#766051"),
- FromHex("#453b32")
+ ParseHex("#f1e9cd"),
+ ParseHex("#f2e7cf"),
+ ParseHex("#ece6d0"),
+ ParseHex("#f2eacc"),
+ ParseHex("#f3e9ca"),
+ ParseHex("#f2ebcd"),
+ ParseHex("#e6e1c9"),
+ ParseHex("#e2ddc6"),
+ ParseHex("#cbc8b7"),
+ ParseHex("#bfbbb0"),
+ ParseHex("#bebeb3"),
+ ParseHex("#b7b5ac"),
+ ParseHex("#bab191"),
+ ParseHex("#9c9d9a"),
+ ParseHex("#8a8d84"),
+ ParseHex("#5b5c61"),
+ ParseHex("#555152"),
+ ParseHex("#413f44"),
+ ParseHex("#454445"),
+ ParseHex("#423937"),
+ ParseHex("#433635"),
+ ParseHex("#252024"),
+ ParseHex("#241f20"),
+ ParseHex("#281f3f"),
+ ParseHex("#1c1949"),
+ ParseHex("#4f638d"),
+ ParseHex("#383867"),
+ ParseHex("#5c6b8f"),
+ ParseHex("#657abb"),
+ ParseHex("#6f88af"),
+ ParseHex("#7994b5"),
+ ParseHex("#6fb5a8"),
+ ParseHex("#719ba2"),
+ ParseHex("#8aa1a6"),
+ ParseHex("#d0d5d3"),
+ ParseHex("#8590ae"),
+ ParseHex("#3a2f52"),
+ ParseHex("#39334a"),
+ ParseHex("#6c6d94"),
+ ParseHex("#584c77"),
+ ParseHex("#533552"),
+ ParseHex("#463759"),
+ ParseHex("#bfbac0"),
+ ParseHex("#77747f"),
+ ParseHex("#4a475c"),
+ ParseHex("#b8bfaf"),
+ ParseHex("#b2b599"),
+ ParseHex("#979c84"),
+ ParseHex("#5d6161"),
+ ParseHex("#61ac86"),
+ ParseHex("#a4b6a7"),
+ ParseHex("#adba98"),
+ ParseHex("#93b778"),
+ ParseHex("#7d8c55"),
+ ParseHex("#33431e"),
+ ParseHex("#7c8635"),
+ ParseHex("#8e9849"),
+ ParseHex("#c2c190"),
+ ParseHex("#67765b"),
+ ParseHex("#ab924b"),
+ ParseHex("#c8c76f"),
+ ParseHex("#ccc050"),
+ ParseHex("#ebdd99"),
+ ParseHex("#ab9649"),
+ ParseHex("#dbc364"),
+ ParseHex("#e6d058"),
+ ParseHex("#ead665"),
+ ParseHex("#d09b2c"),
+ ParseHex("#a36629"),
+ ParseHex("#a77d35"),
+ ParseHex("#f0d696"),
+ ParseHex("#d7c485"),
+ ParseHex("#f1d28c"),
+ ParseHex("#efcc83"),
+ ParseHex("#f3daa7"),
+ ParseHex("#dfa837"),
+ ParseHex("#ebbc71"),
+ ParseHex("#d17c3f"),
+ ParseHex("#92462f"),
+ ParseHex("#be7249"),
+ ParseHex("#bb603c"),
+ ParseHex("#c76b4a"),
+ ParseHex("#a75536"),
+ ParseHex("#b63e36"),
+ ParseHex("#b5493a"),
+ ParseHex("#cd6d57"),
+ ParseHex("#711518"),
+ ParseHex("#e9c49d"),
+ ParseHex("#eedac3"),
+ ParseHex("#eecfbf"),
+ ParseHex("#ce536b"),
+ ParseHex("#b74a70"),
+ ParseHex("#b7757c"),
+ ParseHex("#612741"),
+ ParseHex("#7a4848"),
+ ParseHex("#3f3033"),
+ ParseHex("#8d746f"),
+ ParseHex("#4d3635"),
+ ParseHex("#6e3b31"),
+ ParseHex("#864735"),
+ ParseHex("#553d3a"),
+ ParseHex("#613936"),
+ ParseHex("#7a4b3a"),
+ ParseHex("#946943"),
+ ParseHex("#c39e6d"),
+ ParseHex("#513e32"),
+ ParseHex("#8b7859"),
+ ParseHex("#9b856b"),
+ ParseHex("#766051"),
+ ParseHex("#453b32")
};
}
-}
\ No newline at end of file
+}
diff --git a/src/ImageSharp/Color/Color.cs b/src/ImageSharp/Color/Color.cs
index 5fad7a8e39..fcf091638e 100644
--- a/src/ImageSharp/Color/Color.cs
+++ b/src/ImageSharp/Color/Color.cs
@@ -95,21 +95,102 @@ private Color(byte r, byte g, byte b)
public static Color FromRgb(byte r, byte g, byte b) => new Color(r, g, b);
///
- /// Creates a new instance from the string representing a color in hexadecimal form.
+ /// Creates a new instance of the struct
+ /// from the given hexadecimal string.
///
///
/// The hexadecimal representation of the combined color components arranged
/// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
///
- /// Returns a that represents the color defined by the provided RGBA hex string.
+ ///
+ /// The .
+ ///
[MethodImpl(InliningOptions.ShortMethod)]
- public static Color FromHex(string hex)
+ public static Color ParseHex(string hex)
{
- var rgba = Rgba32.FromHex(hex);
+ var rgba = Rgba32.ParseHex(hex);
return new Color(rgba);
}
+ ///
+ /// Attempts to creates a new instance of the struct
+ /// from the given hexadecimal string.
+ ///
+ ///
+ /// The hexadecimal representation of the combined color components arranged
+ /// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
+ ///
+ /// When this method returns, contains the equivalent of the hexadecimal input.
+ ///
+ /// The .
+ ///
+ [MethodImpl(InliningOptions.ShortMethod)]
+ public static bool TryParseHex(string hex, out Color result)
+ {
+ result = default;
+
+ if (Rgba32.TryParseHex(hex, out Rgba32 rgba))
+ {
+ result = new Color(rgba);
+ return true;
+ }
+
+ return false;
+ }
+
+ ///
+ /// Creates a new instance of the struct
+ /// from the given input string.
+ ///
+ ///
+ /// The name of the color or the hexadecimal representation of the combined color components arranged
+ /// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
+ ///
+ ///
+ /// The .
+ ///
+ public static Color Parse(string input)
+ {
+ Guard.NotNull(input, nameof(input));
+
+ if (!TryParse(input, out Color color))
+ {
+ throw new ArgumentException("Input string is not in the correct format.", nameof(input));
+ }
+
+ return color;
+ }
+
+ ///
+ /// Attempts to creates a new instance of the struct
+ /// from the given input string.
+ ///
+ ///
+ /// The name of the color or the hexadecimal representation of the combined color components arranged
+ /// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
+ ///
+ /// When this method returns, contains the equivalent of the hexadecimal input.
+ ///
+ /// The .
+ ///
+ public static bool TryParse(string input, out Color result)
+ {
+ result = default;
+
+ if (string.IsNullOrWhiteSpace(input))
+ {
+ return false;
+ }
+
+ if (NamedColorsLookupLazy.Value.TryGetValue(input, out result))
+ {
+ return true;
+ }
+
+ return TryParseHex(input, out result);
+ }
+
///
/// Alters the alpha channel of the color, returning a new instance.
///
@@ -117,7 +198,7 @@ public static Color FromHex(string hex)
/// The color having it's alpha channel altered.
public Color WithAlpha(float alpha)
{
- Vector4 v = (Vector4)this;
+ var v = (Vector4)this;
v.W = alpha;
return new Color(v);
}
diff --git a/src/ImageSharp/PixelFormats/ColorConstants.cs b/src/ImageSharp/PixelFormats/ColorConstants.cs
deleted file mode 100644
index 14df385697..0000000000
--- a/src/ImageSharp/PixelFormats/ColorConstants.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the Apache License, Version 2.0.
-
-namespace SixLabors.ImageSharp.PixelFormats
-{
- ///
- /// Provides useful color definitions.
- ///
- public static class ColorConstants
- {
- ///
- /// Gets a collection of named, web safe, colors as defined in the CSS Color Module Level 4.
- ///
- public static readonly Rgba32[] WebSafeColors =
- {
- Rgba32.AliceBlue,
- Rgba32.AntiqueWhite,
- Rgba32.Aqua,
- Rgba32.Aquamarine,
- Rgba32.Azure,
- Rgba32.Beige,
- Rgba32.Bisque,
- Rgba32.Black,
- Rgba32.BlanchedAlmond,
- Rgba32.Blue,
- Rgba32.BlueViolet,
- Rgba32.Brown,
- Rgba32.BurlyWood,
- Rgba32.CadetBlue,
- Rgba32.Chartreuse,
- Rgba32.Chocolate,
- Rgba32.Coral,
- Rgba32.CornflowerBlue,
- Rgba32.Cornsilk,
- Rgba32.Crimson,
- Rgba32.Cyan,
- Rgba32.DarkBlue,
- Rgba32.DarkCyan,
- Rgba32.DarkGoldenrod,
- Rgba32.DarkGray,
- Rgba32.DarkGreen,
- Rgba32.DarkKhaki,
- Rgba32.DarkMagenta,
- Rgba32.DarkOliveGreen,
- Rgba32.DarkOrange,
- Rgba32.DarkOrchid,
- Rgba32.DarkRed,
- Rgba32.DarkSalmon,
- Rgba32.DarkSeaGreen,
- Rgba32.DarkSlateBlue,
- Rgba32.DarkSlateGray,
- Rgba32.DarkTurquoise,
- Rgba32.DarkViolet,
- Rgba32.DeepPink,
- Rgba32.DeepSkyBlue,
- Rgba32.DimGray,
- Rgba32.DodgerBlue,
- Rgba32.Firebrick,
- Rgba32.FloralWhite,
- Rgba32.ForestGreen,
- Rgba32.Fuchsia,
- Rgba32.Gainsboro,
- Rgba32.GhostWhite,
- Rgba32.Gold,
- Rgba32.Goldenrod,
- Rgba32.Gray,
- Rgba32.Green,
- Rgba32.GreenYellow,
- Rgba32.Honeydew,
- Rgba32.HotPink,
- Rgba32.IndianRed,
- Rgba32.Indigo,
- Rgba32.Ivory,
- Rgba32.Khaki,
- Rgba32.Lavender,
- Rgba32.LavenderBlush,
- Rgba32.LawnGreen,
- Rgba32.LemonChiffon,
- Rgba32.LightBlue,
- Rgba32.LightCoral,
- Rgba32.LightCyan,
- Rgba32.LightGoldenrodYellow,
- Rgba32.LightGray,
- Rgba32.LightGreen,
- Rgba32.LightPink,
- Rgba32.LightSalmon,
- Rgba32.LightSeaGreen,
- Rgba32.LightSkyBlue,
- Rgba32.LightSlateGray,
- Rgba32.LightSteelBlue,
- Rgba32.LightYellow,
- Rgba32.Lime,
- Rgba32.LimeGreen,
- Rgba32.Linen,
- Rgba32.Magenta,
- Rgba32.Maroon,
- Rgba32.MediumAquamarine,
- Rgba32.MediumBlue,
- Rgba32.MediumOrchid,
- Rgba32.MediumPurple,
- Rgba32.MediumSeaGreen,
- Rgba32.MediumSlateBlue,
- Rgba32.MediumSpringGreen,
- Rgba32.MediumTurquoise,
- Rgba32.MediumVioletRed,
- Rgba32.MidnightBlue,
- Rgba32.MintCream,
- Rgba32.MistyRose,
- Rgba32.Moccasin,
- Rgba32.NavajoWhite,
- Rgba32.Navy,
- Rgba32.OldLace,
- Rgba32.Olive,
- Rgba32.OliveDrab,
- Rgba32.Orange,
- Rgba32.OrangeRed,
- Rgba32.Orchid,
- Rgba32.PaleGoldenrod,
- Rgba32.PaleGreen,
- Rgba32.PaleTurquoise,
- Rgba32.PaleVioletRed,
- Rgba32.PapayaWhip,
- Rgba32.PeachPuff,
- Rgba32.Peru,
- Rgba32.Pink,
- Rgba32.Plum,
- Rgba32.PowderBlue,
- Rgba32.Purple,
- Rgba32.RebeccaPurple,
- Rgba32.Red,
- Rgba32.RosyBrown,
- Rgba32.RoyalBlue,
- Rgba32.SaddleBrown,
- Rgba32.Salmon,
- Rgba32.SandyBrown,
- Rgba32.SeaGreen,
- Rgba32.SeaShell,
- Rgba32.Sienna,
- Rgba32.Silver,
- Rgba32.SkyBlue,
- Rgba32.SlateBlue,
- Rgba32.SlateGray,
- Rgba32.Snow,
- Rgba32.SpringGreen,
- Rgba32.SteelBlue,
- Rgba32.Tan,
- Rgba32.Teal,
- Rgba32.Thistle,
- Rgba32.Tomato,
- Rgba32.Transparent,
- Rgba32.Turquoise,
- Rgba32.Violet,
- Rgba32.Wheat,
- Rgba32.White,
- Rgba32.WhiteSmoke,
- Rgba32.Yellow,
- Rgba32.YellowGreen
- };
-
- ///
- /// Gets a collection of colors as defined in the original second edition of Werner’s Nomenclature of Colours 1821.
- /// The hex codes were collected and defined by Nicholas Rougeux
- ///
- public static readonly Rgba32[] WernerColors =
- {
- Rgba32.FromHex("#f1e9cd"),
- Rgba32.FromHex("#f2e7cf"),
- Rgba32.FromHex("#ece6d0"),
- Rgba32.FromHex("#f2eacc"),
- Rgba32.FromHex("#f3e9ca"),
- Rgba32.FromHex("#f2ebcd"),
- Rgba32.FromHex("#e6e1c9"),
- Rgba32.FromHex("#e2ddc6"),
- Rgba32.FromHex("#cbc8b7"),
- Rgba32.FromHex("#bfbbb0"),
- Rgba32.FromHex("#bebeb3"),
- Rgba32.FromHex("#b7b5ac"),
- Rgba32.FromHex("#bab191"),
- Rgba32.FromHex("#9c9d9a"),
- Rgba32.FromHex("#8a8d84"),
- Rgba32.FromHex("#5b5c61"),
- Rgba32.FromHex("#555152"),
- Rgba32.FromHex("#413f44"),
- Rgba32.FromHex("#454445"),
- Rgba32.FromHex("#423937"),
- Rgba32.FromHex("#433635"),
- Rgba32.FromHex("#252024"),
- Rgba32.FromHex("#241f20"),
- Rgba32.FromHex("#281f3f"),
- Rgba32.FromHex("#1c1949"),
- Rgba32.FromHex("#4f638d"),
- Rgba32.FromHex("#383867"),
- Rgba32.FromHex("#5c6b8f"),
- Rgba32.FromHex("#657abb"),
- Rgba32.FromHex("#6f88af"),
- Rgba32.FromHex("#7994b5"),
- Rgba32.FromHex("#6fb5a8"),
- Rgba32.FromHex("#719ba2"),
- Rgba32.FromHex("#8aa1a6"),
- Rgba32.FromHex("#d0d5d3"),
- Rgba32.FromHex("#8590ae"),
- Rgba32.FromHex("#3a2f52"),
- Rgba32.FromHex("#39334a"),
- Rgba32.FromHex("#6c6d94"),
- Rgba32.FromHex("#584c77"),
- Rgba32.FromHex("#533552"),
- Rgba32.FromHex("#463759"),
- Rgba32.FromHex("#bfbac0"),
- Rgba32.FromHex("#77747f"),
- Rgba32.FromHex("#4a475c"),
- Rgba32.FromHex("#b8bfaf"),
- Rgba32.FromHex("#b2b599"),
- Rgba32.FromHex("#979c84"),
- Rgba32.FromHex("#5d6161"),
- Rgba32.FromHex("#61ac86"),
- Rgba32.FromHex("#a4b6a7"),
- Rgba32.FromHex("#adba98"),
- Rgba32.FromHex("#93b778"),
- Rgba32.FromHex("#7d8c55"),
- Rgba32.FromHex("#33431e"),
- Rgba32.FromHex("#7c8635"),
- Rgba32.FromHex("#8e9849"),
- Rgba32.FromHex("#c2c190"),
- Rgba32.FromHex("#67765b"),
- Rgba32.FromHex("#ab924b"),
- Rgba32.FromHex("#c8c76f"),
- Rgba32.FromHex("#ccc050"),
- Rgba32.FromHex("#ebdd99"),
- Rgba32.FromHex("#ab9649"),
- Rgba32.FromHex("#dbc364"),
- Rgba32.FromHex("#e6d058"),
- Rgba32.FromHex("#ead665"),
- Rgba32.FromHex("#d09b2c"),
- Rgba32.FromHex("#a36629"),
- Rgba32.FromHex("#a77d35"),
- Rgba32.FromHex("#f0d696"),
- Rgba32.FromHex("#d7c485"),
- Rgba32.FromHex("#f1d28c"),
- Rgba32.FromHex("#efcc83"),
- Rgba32.FromHex("#f3daa7"),
- Rgba32.FromHex("#dfa837"),
- Rgba32.FromHex("#ebbc71"),
- Rgba32.FromHex("#d17c3f"),
- Rgba32.FromHex("#92462f"),
- Rgba32.FromHex("#be7249"),
- Rgba32.FromHex("#bb603c"),
- Rgba32.FromHex("#c76b4a"),
- Rgba32.FromHex("#a75536"),
- Rgba32.FromHex("#b63e36"),
- Rgba32.FromHex("#b5493a"),
- Rgba32.FromHex("#cd6d57"),
- Rgba32.FromHex("#711518"),
- Rgba32.FromHex("#e9c49d"),
- Rgba32.FromHex("#eedac3"),
- Rgba32.FromHex("#eecfbf"),
- Rgba32.FromHex("#ce536b"),
- Rgba32.FromHex("#b74a70"),
- Rgba32.FromHex("#b7757c"),
- Rgba32.FromHex("#612741"),
- Rgba32.FromHex("#7a4848"),
- Rgba32.FromHex("#3f3033"),
- Rgba32.FromHex("#8d746f"),
- Rgba32.FromHex("#4d3635"),
- Rgba32.FromHex("#6e3b31"),
- Rgba32.FromHex("#864735"),
- Rgba32.FromHex("#553d3a"),
- Rgba32.FromHex("#613936"),
- Rgba32.FromHex("#7a4b3a"),
- Rgba32.FromHex("#946943"),
- Rgba32.FromHex("#c39e6d"),
- Rgba32.FromHex("#513e32"),
- Rgba32.FromHex("#8b7859"),
- Rgba32.FromHex("#9b856b"),
- Rgba32.FromHex("#766051"),
- Rgba32.FromHex("#453b32")
- };
- }
-}
\ No newline at end of file
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.Definitions.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.Definitions.cs
deleted file mode 100644
index f9cc3256cd..0000000000
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.Definitions.cs
+++ /dev/null
@@ -1,721 +0,0 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the Apache License, Version 2.0.
-
-namespace SixLabors.ImageSharp.PixelFormats
-{
- ///
- /// Provides standardized definitions for named colors.
- ///
- public partial struct Rgba32
- {
- ///
- /// Represents a matching the W3C definition that has an hex value of #F0F8FF.
- ///
- public static readonly Rgba32 AliceBlue = Color.AliceBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FAEBD7.
- ///
- public static readonly Rgba32 AntiqueWhite = Color.AntiqueWhite;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00FFFF.
- ///
- public static readonly Rgba32 Aqua = Color.Aqua;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #7FFFD4.
- ///
- public static readonly Rgba32 Aquamarine = Color.Aquamarine;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F0FFFF.
- ///
- public static readonly Rgba32 Azure = Color.Azure;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F5F5DC.
- ///
- public static readonly Rgba32 Beige = Color.Beige;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFE4C4.
- ///
- public static readonly Rgba32 Bisque = Color.Bisque;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #000000.
- ///
- public static readonly Rgba32 Black = Color.Black;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFEBCD.
- ///
- public static readonly Rgba32 BlanchedAlmond = Color.BlanchedAlmond;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #0000FF.
- ///
- public static readonly Rgba32 Blue = Color.Blue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #8A2BE2.
- ///
- public static readonly Rgba32 BlueViolet = Color.BlueViolet;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #A52A2A.
- ///
- public static readonly Rgba32 Brown = Color.Brown;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DEB887.
- ///
- public static readonly Rgba32 BurlyWood = Color.BurlyWood;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #5F9EA0.
- ///
- public static readonly Rgba32 CadetBlue = Color.CadetBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #7FFF00.
- ///
- public static readonly Rgba32 Chartreuse = Color.Chartreuse;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #D2691E.
- ///
- public static readonly Rgba32 Chocolate = Color.Chocolate;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF7F50.
- ///
- public static readonly Rgba32 Coral = Color.Coral;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #6495ED.
- ///
- public static readonly Rgba32 CornflowerBlue = Color.CornflowerBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFF8DC.
- ///
- public static readonly Rgba32 Cornsilk = Color.Cornsilk;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DC143C.
- ///
- public static readonly Rgba32 Crimson = Color.Crimson;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00FFFF.
- ///
- public static readonly Rgba32 Cyan = Color.Cyan;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00008B.
- ///
- public static readonly Rgba32 DarkBlue = Color.DarkBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #008B8B.
- ///
- public static readonly Rgba32 DarkCyan = Color.DarkCyan;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #B8860B.
- ///
- public static readonly Rgba32 DarkGoldenrod = Color.DarkGoldenrod;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #A9A9A9.
- ///
- public static readonly Rgba32 DarkGray = Color.DarkGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #006400.
- ///
- public static readonly Rgba32 DarkGreen = Color.DarkGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #BDB76B.
- ///
- public static readonly Rgba32 DarkKhaki = Color.DarkKhaki;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #8B008B.
- ///
- public static readonly Rgba32 DarkMagenta = Color.DarkMagenta;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #556B2F.
- ///
- public static readonly Rgba32 DarkOliveGreen = Color.DarkOliveGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF8C00.
- ///
- public static readonly Rgba32 DarkOrange = Color.DarkOrange;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #9932CC.
- ///
- public static readonly Rgba32 DarkOrchid = Color.DarkOrchid;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #8B0000.
- ///
- public static readonly Rgba32 DarkRed = Color.DarkRed;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #E9967A.
- ///
- public static readonly Rgba32 DarkSalmon = Color.DarkSalmon;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #8FBC8B.
- ///
- public static readonly Rgba32 DarkSeaGreen = Color.DarkSeaGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #483D8B.
- ///
- public static readonly Rgba32 DarkSlateBlue = Color.DarkSlateBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #2F4F4F.
- ///
- public static readonly Rgba32 DarkSlateGray = Color.DarkSlateGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00CED1.
- ///
- public static readonly Rgba32 DarkTurquoise = Color.DarkTurquoise;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #9400D3.
- ///
- public static readonly Rgba32 DarkViolet = Color.DarkViolet;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF1493.
- ///
- public static readonly Rgba32 DeepPink = Color.DeepPink;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00BFFF.
- ///
- public static readonly Rgba32 DeepSkyBlue = Color.DeepSkyBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #696969.
- ///
- public static readonly Rgba32 DimGray = Color.DimGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #1E90FF.
- ///
- public static readonly Rgba32 DodgerBlue = Color.DodgerBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #B22222.
- ///
- public static readonly Rgba32 Firebrick = Color.Firebrick;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFAF0.
- ///
- public static readonly Rgba32 FloralWhite = Color.FloralWhite;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #228B22.
- ///
- public static readonly Rgba32 ForestGreen = Color.ForestGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF00FF.
- ///
- public static readonly Rgba32 Fuchsia = Color.Fuchsia;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DCDCDC.
- ///
- public static readonly Rgba32 Gainsboro = Color.Gainsboro;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F8F8FF.
- ///
- public static readonly Rgba32 GhostWhite = Color.GhostWhite;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFD700.
- ///
- public static readonly Rgba32 Gold = Color.Gold;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DAA520.
- ///
- public static readonly Rgba32 Goldenrod = Color.Goldenrod;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #808080.
- ///
- public static readonly Rgba32 Gray = Color.Gray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #008000.
- ///
- public static readonly Rgba32 Green = Color.Green;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #ADFF2F.
- ///
- public static readonly Rgba32 GreenYellow = Color.GreenYellow;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F0FFF0.
- ///
- public static readonly Rgba32 Honeydew = Color.Honeydew;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF69B4.
- ///
- public static readonly Rgba32 HotPink = Color.HotPink;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #CD5C5C.
- ///
- public static readonly Rgba32 IndianRed = Color.IndianRed;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #4B0082.
- ///
- public static readonly Rgba32 Indigo = Color.Indigo;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFFF0.
- ///
- public static readonly Rgba32 Ivory = Color.Ivory;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F0E68C.
- ///
- public static readonly Rgba32 Khaki = Color.Khaki;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #E6E6FA.
- ///
- public static readonly Rgba32 Lavender = Color.Lavender;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFF0F5.
- ///
- public static readonly Rgba32 LavenderBlush = Color.LavenderBlush;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #7CFC00.
- ///
- public static readonly Rgba32 LawnGreen = Color.LawnGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFACD.
- ///
- public static readonly Rgba32 LemonChiffon = Color.LemonChiffon;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #ADD8E6.
- ///
- public static readonly Rgba32 LightBlue = Color.LightBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F08080.
- ///
- public static readonly Rgba32 LightCoral = Color.LightCoral;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #E0FFFF.
- ///
- public static readonly Rgba32 LightCyan = Color.LightCyan;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FAFAD2.
- ///
- public static readonly Rgba32 LightGoldenrodYellow = Color.LightGoldenrodYellow;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #D3D3D3.
- ///
- public static readonly Rgba32 LightGray = Color.LightGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #90EE90.
- ///
- public static readonly Rgba32 LightGreen = Color.LightGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFB6C1.
- ///
- public static readonly Rgba32 LightPink = Color.LightPink;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFA07A.
- ///
- public static readonly Rgba32 LightSalmon = Color.LightSalmon;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #20B2AA.
- ///
- public static readonly Rgba32 LightSeaGreen = Color.LightSeaGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #87CEFA.
- ///
- public static readonly Rgba32 LightSkyBlue = Color.LightSkyBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #778899.
- ///
- public static readonly Rgba32 LightSlateGray = Color.LightSlateGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #B0C4DE.
- ///
- public static readonly Rgba32 LightSteelBlue = Color.LightSteelBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFFE0.
- ///
- public static readonly Rgba32 LightYellow = Color.LightYellow;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00FF00.
- ///
- public static readonly Rgba32 Lime = Color.Lime;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #32CD32.
- ///
- public static readonly Rgba32 LimeGreen = Color.LimeGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FAF0E6.
- ///
- public static readonly Rgba32 Linen = Color.Linen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF00FF.
- ///
- public static readonly Rgba32 Magenta = Color.Magenta;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #800000.
- ///
- public static readonly Rgba32 Maroon = Color.Maroon;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #66CDAA.
- ///
- public static readonly Rgba32 MediumAquamarine = Color.MediumAquamarine;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #0000CD.
- ///
- public static readonly Rgba32 MediumBlue = Color.MediumBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #BA55D3.
- ///
- public static readonly Rgba32 MediumOrchid = Color.MediumOrchid;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #9370DB.
- ///
- public static readonly Rgba32 MediumPurple = Color.MediumPurple;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #3CB371.
- ///
- public static readonly Rgba32 MediumSeaGreen = Color.MediumSeaGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #7B68EE.
- ///
- public static readonly Rgba32 MediumSlateBlue = Color.MediumSlateBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00FA9A.
- ///
- public static readonly Rgba32 MediumSpringGreen = Color.MediumSpringGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #48D1CC.
- ///
- public static readonly Rgba32 MediumTurquoise = Color.MediumTurquoise;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #C71585.
- ///
- public static readonly Rgba32 MediumVioletRed = Color.MediumVioletRed;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #191970.
- ///
- public static readonly Rgba32 MidnightBlue = Color.MidnightBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F5FFFA.
- ///
- public static readonly Rgba32 MintCream = Color.MintCream;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFE4E1.
- ///
- public static readonly Rgba32 MistyRose = Color.MistyRose;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFE4B5.
- ///
- public static readonly Rgba32 Moccasin = Color.Moccasin;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFDEAD.
- ///
- public static readonly Rgba32 NavajoWhite = Color.NavajoWhite;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #000080.
- ///
- public static readonly Rgba32 Navy = Color.Navy;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FDF5E6.
- ///
- public static readonly Rgba32 OldLace = Color.OldLace;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #808000.
- ///
- public static readonly Rgba32 Olive = Color.Olive;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #6B8E23.
- ///
- public static readonly Rgba32 OliveDrab = Color.OliveDrab;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFA500.
- ///
- public static readonly Rgba32 Orange = Color.Orange;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF4500.
- ///
- public static readonly Rgba32 OrangeRed = Color.OrangeRed;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DA70D6.
- ///
- public static readonly Rgba32 Orchid = Color.Orchid;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #EEE8AA.
- ///
- public static readonly Rgba32 PaleGoldenrod = Color.PaleGoldenrod;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #98FB98.
- ///
- public static readonly Rgba32 PaleGreen = Color.PaleGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #AFEEEE.
- ///
- public static readonly Rgba32 PaleTurquoise = Color.PaleTurquoise;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DB7093.
- ///
- public static readonly Rgba32 PaleVioletRed = Color.PaleVioletRed;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFEFD5.
- ///
- public static readonly Rgba32 PapayaWhip = Color.PapayaWhip;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFDAB9.
- ///
- public static readonly Rgba32 PeachPuff = Color.PeachPuff;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #CD853F.
- ///
- public static readonly Rgba32 Peru = Color.Peru;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFC0CB.
- ///
- public static readonly Rgba32 Pink = Color.Pink;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #DDA0DD.
- ///
- public static readonly Rgba32 Plum = Color.Plum;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #B0E0E6.
- ///
- public static readonly Rgba32 PowderBlue = Color.PowderBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #800080.
- ///
- public static readonly Rgba32 Purple = Color.Purple;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #663399.
- ///
- public static readonly Rgba32 RebeccaPurple = Color.RebeccaPurple;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF0000.
- ///
- public static readonly Rgba32 Red = Color.Red;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #BC8F8F.
- ///
- public static readonly Rgba32 RosyBrown = Color.RosyBrown;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #4169E1.
- ///
- public static readonly Rgba32 RoyalBlue = Color.RoyalBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #8B4513.
- ///
- public static readonly Rgba32 SaddleBrown = Color.SaddleBrown;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FA8072.
- ///
- public static readonly Rgba32 Salmon = Color.Salmon;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F4A460.
- ///
- public static readonly Rgba32 SandyBrown = Color.SandyBrown;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #2E8B57.
- ///
- public static readonly Rgba32 SeaGreen = Color.SeaGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFF5EE.
- ///
- public static readonly Rgba32 SeaShell = Color.SeaShell;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #A0522D.
- ///
- public static readonly Rgba32 Sienna = Color.Sienna;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #C0C0C0.
- ///
- public static readonly Rgba32 Silver = Color.Silver;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #87CEEB.
- ///
- public static readonly Rgba32 SkyBlue = Color.SkyBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #6A5ACD.
- ///
- public static readonly Rgba32 SlateBlue = Color.SlateBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #708090.
- ///
- public static readonly Rgba32 SlateGray = Color.SlateGray;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFAFA.
- ///
- public static readonly Rgba32 Snow = Color.Snow;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #00FF7F.
- ///
- public static readonly Rgba32 SpringGreen = Color.SpringGreen;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #4682B4.
- ///
- public static readonly Rgba32 SteelBlue = Color.SteelBlue;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #D2B48C.
- ///
- public static readonly Rgba32 Tan = Color.Tan;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #008080.
- ///
- public static readonly Rgba32 Teal = Color.Teal;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #D8BFD8.
- ///
- public static readonly Rgba32 Thistle = Color.Thistle;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FF6347.
- ///
- public static readonly Rgba32 Tomato = Color.Tomato;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFFFF.
- ///
- public static readonly Rgba32 Transparent = Color.Transparent;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #40E0D0.
- ///
- public static readonly Rgba32 Turquoise = Color.Turquoise;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #EE82EE.
- ///
- public static readonly Rgba32 Violet = Color.Violet;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F5DEB3.
- ///
- public static readonly Rgba32 Wheat = Color.Wheat;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFFFF.
- ///
- public static readonly Rgba32 White = Color.White;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #F5F5F5.
- ///
- public static readonly Rgba32 WhiteSmoke = Color.WhiteSmoke;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #FFFF00.
- ///
- public static readonly Rgba32 Yellow = Color.Yellow;
-
- ///
- /// Represents a matching the W3C definition that has an hex value of #9ACD32.
- ///
- public static readonly Rgba32 YellowGreen = Color.YellowGreen;
- }
-}
\ No newline at end of file
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
index 10631e2cf9..62f8d97e8f 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.cs
@@ -230,7 +230,8 @@ public static implicit operator Rgba32(ColorSpaces.Rgb color)
public static bool operator !=(Rgba32 left, Rgba32 right) => !left.Equals(right);
///
- /// Creates a new instance of the struct.
+ /// Creates a new instance of the struct
+ /// from the given hexadecimal string.
///
///
/// The hexadecimal representation of the combined color components arranged
@@ -239,19 +240,50 @@ public static implicit operator Rgba32(ColorSpaces.Rgb color)
///
/// The .
///
- public static Rgba32 FromHex(string hex)
+ [MethodImpl(InliningOptions.ShortMethod)]
+ public static Rgba32 ParseHex(string hex)
+ {
+ Guard.NotNull(hex, nameof(hex));
+
+ if (!TryParseHex(hex, out Rgba32 rgba))
+ {
+ throw new ArgumentException("Hexadecimal string is not in the correct format.", nameof(hex));
+ }
+
+ return rgba;
+ }
+
+ ///
+ /// Attempts to creates a new instance of the struct
+ /// from the given hexadecimal string.
+ ///
+ ///
+ /// The hexadecimal representation of the combined color components arranged
+ /// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
+ ///
+ /// When this method returns, contains the equivalent of the hexadecimal input.
+ ///
+ /// The .
+ ///
+ [MethodImpl(InliningOptions.ShortMethod)]
+ public static bool TryParseHex(string hex, out Rgba32 result)
{
- Guard.NotNullOrWhiteSpace(hex, nameof(hex));
+ result = default;
+ if (string.IsNullOrWhiteSpace(hex))
+ {
+ return false;
+ }
hex = ToRgbaHex(hex);
if (hex is null || !uint.TryParse(hex, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out uint packedValue))
{
- throw new ArgumentException("Hexadecimal string is not in the correct format.", nameof(hex));
+ return false;
}
packedValue = BinaryPrimitives.ReverseEndianness(packedValue);
- return Unsafe.As(ref packedValue);
+ result = Unsafe.As(ref packedValue);
+ return true;
}
///
diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.cs b/src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.cs
index 67f09f3a5d..89c5f6ddba 100644
--- a/src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.cs
+++ b/src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.cs
@@ -94,7 +94,7 @@ public RgbaVector(float r, float g, float b, float a = 1)
///
/// The .
///
- public static RgbaVector FromHex(string hex) => Color.FromHex(hex).ToPixel();
+ public static RgbaVector FromHex(string hex) => Color.ParseHex(hex).ToPixel();
///
public PixelOperations CreatePixelOperations() => new PixelOperations();
diff --git a/tests/ImageSharp.Benchmarks/Codecs/GetSetPixel.cs b/tests/ImageSharp.Benchmarks/Codecs/GetSetPixel.cs
index f0d7a54d08..93f5bc8d85 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/GetSetPixel.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/GetSetPixel.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System.Drawing;
@@ -24,7 +24,7 @@ public Rgba32 ResizeCore()
{
using (var image = new Image(400, 400))
{
- image[200, 200] = Rgba32.White;
+ image[200, 200] = Color.White;
return image[200, 200];
}
}
diff --git a/tests/ImageSharp.Benchmarks/Samplers/Diffuse.cs b/tests/ImageSharp.Benchmarks/Samplers/Diffuse.cs
index b40cfc6226..1676197d41 100644
--- a/tests/ImageSharp.Benchmarks/Samplers/Diffuse.cs
+++ b/tests/ImageSharp.Benchmarks/Samplers/Diffuse.cs
@@ -13,7 +13,7 @@ public class Diffuse
[Benchmark]
public Size DoDiffuse()
{
- using (var image = new Image(Configuration.Default, 800, 800, Rgba32.BlanchedAlmond))
+ using (var image = new Image(Configuration.Default, 800, 800, Color.BlanchedAlmond))
{
image.Mutate(x => x.Diffuse());
diff --git a/tests/ImageSharp.Benchmarks/Samplers/GaussianBlur.cs b/tests/ImageSharp.Benchmarks/Samplers/GaussianBlur.cs
index c5cfcb6eb2..711669b14e 100644
--- a/tests/ImageSharp.Benchmarks/Samplers/GaussianBlur.cs
+++ b/tests/ImageSharp.Benchmarks/Samplers/GaussianBlur.cs
@@ -13,7 +13,7 @@ public class GaussianBlur
[Benchmark]
public void Blur()
{
- using (var image = new Image(Configuration.Default, 400, 400, Rgba32.White))
+ using (var image = new Image(Configuration.Default, 400, 400, Color.White))
{
image.Mutate(c => c.GaussianBlur());
}
diff --git a/tests/ImageSharp.Benchmarks/Samplers/Rotate.cs b/tests/ImageSharp.Benchmarks/Samplers/Rotate.cs
index 294a487bc6..e16e376fe1 100644
--- a/tests/ImageSharp.Benchmarks/Samplers/Rotate.cs
+++ b/tests/ImageSharp.Benchmarks/Samplers/Rotate.cs
@@ -13,7 +13,7 @@ public class Rotate
[Benchmark]
public Size DoRotate()
{
- using (var image = new Image(Configuration.Default, 400, 400, Rgba32.BlanchedAlmond))
+ using (var image = new Image(Configuration.Default, 400, 400, Color.BlanchedAlmond))
{
image.Mutate(x => x.Rotate(37.5F));
diff --git a/tests/ImageSharp.Benchmarks/Samplers/Skew.cs b/tests/ImageSharp.Benchmarks/Samplers/Skew.cs
index 125dc2a3b4..0ad27861b2 100644
--- a/tests/ImageSharp.Benchmarks/Samplers/Skew.cs
+++ b/tests/ImageSharp.Benchmarks/Samplers/Skew.cs
@@ -14,7 +14,7 @@ public class Skew
[Benchmark]
public Size DoSkew()
{
- using (var image = new Image(Configuration.Default, 400, 400, Rgba32.BlanchedAlmond))
+ using (var image = new Image(Configuration.Default, 400, 400, Color.BlanchedAlmond))
{
image.Mutate(x => x.Skew(20, 10));
diff --git a/tests/ImageSharp.Tests/Color/ColorTests.cs b/tests/ImageSharp.Tests/Color/ColorTests.cs
index 2ac774f53e..c689431f33 100644
--- a/tests/ImageSharp.Tests/Color/ColorTests.cs
+++ b/tests/ImageSharp.Tests/Color/ColorTests.cs
@@ -3,9 +3,7 @@
using System;
using System.Linq;
-
using SixLabors.ImageSharp.PixelFormats;
-
using Xunit;
namespace SixLabors.ImageSharp.Tests
@@ -15,7 +13,7 @@ public partial class ColorTests
[Fact]
public void WithAlpha()
{
- Color c1 = Color.FromRgba(111, 222, 55, 255);
+ var c1 = Color.FromRgba(111, 222, 55, 255);
Color c2 = c1.WithAlpha(0.5f);
var expected = new Rgba32(111, 222, 55, 128);
@@ -56,7 +54,7 @@ public void Equality_WhenFalse()
public void ToHex()
{
string expected = "ABCD1234";
- Color color = Color.FromHex(expected);
+ var color = Color.ParseHex(expected);
string actual = color.ToHex();
Assert.Equal(expected, actual);
@@ -66,14 +64,22 @@ public void ToHex()
public void WebSafePalette_IsCorrect()
{
Rgba32[] actualPalette = Color.WebSafePalette.ToArray().Select(c => (Rgba32)c).ToArray();
- Assert.Equal(ReferencePalette.WebSafeColors, actualPalette);
+
+ for (int i = 0; i < ReferencePalette.WebSafeColors.Length; i++)
+ {
+ Assert.Equal((Rgba32)ReferencePalette.WebSafeColors[i], actualPalette[i]);
+ }
}
[Fact]
public void WernerPalette_IsCorrect()
{
Rgba32[] actualPalette = Color.WernerPalette.ToArray().Select(c => (Rgba32)c).ToArray();
- Assert.Equal(ReferencePalette.WernerColors, actualPalette);
+
+ for (int i = 0; i < ReferencePalette.WernerColors.Length; i++)
+ {
+ Assert.Equal((Rgba32)ReferencePalette.WernerColors[i], actualPalette[i]);
+ }
}
public class FromHex
@@ -81,28 +87,134 @@ public class FromHex
[Fact]
public void ShortHex()
{
- Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)Color.FromHex("#fff"));
- Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)Color.FromHex("fff"));
- Assert.Equal(new Rgba32(0, 0, 0, 255), (Rgba32)Color.FromHex("000f"));
+ Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)Color.ParseHex("#fff"));
+ Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)Color.ParseHex("fff"));
+ Assert.Equal(new Rgba32(0, 0, 0, 255), (Rgba32)Color.ParseHex("000f"));
+ }
+
+ [Fact]
+ public void TryShortHex()
+ {
+ Assert.True(Color.TryParseHex("#fff", out Color actual));
+ Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)actual);
+
+ Assert.True(Color.TryParseHex("fff", out actual));
+ Assert.Equal(new Rgb24(255, 255, 255), (Rgb24)actual);
+
+ Assert.True(Color.TryParseHex("000f", out actual));
+ Assert.Equal(new Rgba32(0, 0, 0, 255), (Rgba32)actual);
}
[Fact]
public void LeadingPoundIsOptional()
{
- Assert.Equal(new Rgb24(0, 128, 128), (Rgb24)Color.FromHex("#008080"));
- Assert.Equal(new Rgb24(0, 128, 128), (Rgb24)Color.FromHex("008080"));
+ Assert.Equal(new Rgb24(0, 128, 128), (Rgb24)Color.ParseHex("#008080"));
+ Assert.Equal(new Rgb24(0, 128, 128), (Rgb24)Color.ParseHex("008080"));
}
[Fact]
public void ThrowsOnEmpty()
{
- Assert.Throws(() => Color.FromHex(string.Empty));
+ Assert.Throws(() => Color.ParseHex(string.Empty));
+ }
+
+ [Fact]
+ public void ThrowsOnInvalid()
+ {
+ Assert.Throws(() => Color.ParseHex("!"));
}
[Fact]
public void ThrowsOnNull()
{
- Assert.Throws(() => Color.FromHex(null));
+ Assert.Throws(() => Color.ParseHex(null));
+ }
+
+ [Fact]
+ public void FalseOnEmpty()
+ {
+ Assert.False(Color.TryParseHex(string.Empty, out Color _));
+ }
+
+ [Fact]
+ public void FalseOnInvalid()
+ {
+ Assert.False(Color.TryParseHex("!", out Color _));
+ }
+
+ [Fact]
+ public void FalseOnNull()
+ {
+ Assert.False(Color.TryParseHex(null, out Color _));
+ }
+ }
+
+ public class FromString
+ {
+ [Fact]
+ public void ColorNames()
+ {
+ foreach (string name in ReferencePalette.ColorNames.Keys)
+ {
+ Rgba32 expected = ReferencePalette.ColorNames[name];
+ Assert.Equal(expected, (Rgba32)Color.Parse(name));
+ Assert.Equal(expected, (Rgba32)Color.Parse(name.ToLowerInvariant()));
+ Assert.Equal(expected, (Rgba32)Color.Parse(expected.ToHex()));
+ }
+ }
+
+ [Fact]
+ public void TryColorNames()
+ {
+ foreach (string name in ReferencePalette.ColorNames.Keys)
+ {
+ Rgba32 expected = ReferencePalette.ColorNames[name];
+
+ Assert.True(Color.TryParse(name, out Color actual));
+ Assert.Equal(expected, (Rgba32)actual);
+
+ Assert.True(Color.TryParse(name.ToLowerInvariant(), out actual));
+ Assert.Equal(expected, (Rgba32)actual);
+
+ Assert.True(Color.TryParse(expected.ToHex(), out actual));
+ Assert.Equal(expected, (Rgba32)actual);
+ }
+ }
+
+ [Fact]
+ public void ThrowsOnEmpty()
+ {
+ Assert.Throws(() => Color.Parse(string.Empty));
+ }
+
+ [Fact]
+ public void ThrowsOnInvalid()
+ {
+ Assert.Throws(() => Color.Parse("!"));
+ }
+
+ [Fact]
+ public void ThrowsOnNull()
+ {
+ Assert.Throws(() => Color.Parse(null));
+ }
+
+ [Fact]
+ public void FalseOnEmpty()
+ {
+ Assert.False(Color.TryParse(string.Empty, out Color _));
+ }
+
+ [Fact]
+ public void FalseOnInvalid()
+ {
+ Assert.False(Color.TryParse("!", out Color _));
+ }
+
+ [Fact]
+ public void FalseOnNull()
+ {
+ Assert.False(Color.TryParse(null, out Color _));
}
}
}
diff --git a/tests/ImageSharp.Tests/Color/ReferencePalette.cs b/tests/ImageSharp.Tests/Color/ReferencePalette.cs
index 9896731e69..d8403e27e2 100644
--- a/tests/ImageSharp.Tests/Color/ReferencePalette.cs
+++ b/tests/ImageSharp.Tests/Color/ReferencePalette.cs
@@ -1,7 +1,8 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
-using SixLabors.ImageSharp.PixelFormats;
+using System;
+using System.Collections.Generic;
namespace SixLabors.ImageSharp.Tests
{
@@ -10,268 +11,422 @@ internal static class ReferencePalette
///
/// Gets a collection of named, web safe, colors as defined in the CSS Color Module Level 4.
///
- public static readonly Rgba32[] WebSafeColors =
+ public static readonly Color[] WebSafeColors =
{
- Rgba32.AliceBlue,
- Rgba32.AntiqueWhite,
- Rgba32.Aqua,
- Rgba32.Aquamarine,
- Rgba32.Azure,
- Rgba32.Beige,
- Rgba32.Bisque,
- Rgba32.Black,
- Rgba32.BlanchedAlmond,
- Rgba32.Blue,
- Rgba32.BlueViolet,
- Rgba32.Brown,
- Rgba32.BurlyWood,
- Rgba32.CadetBlue,
- Rgba32.Chartreuse,
- Rgba32.Chocolate,
- Rgba32.Coral,
- Rgba32.CornflowerBlue,
- Rgba32.Cornsilk,
- Rgba32.Crimson,
- Rgba32.Cyan,
- Rgba32.DarkBlue,
- Rgba32.DarkCyan,
- Rgba32.DarkGoldenrod,
- Rgba32.DarkGray,
- Rgba32.DarkGreen,
- Rgba32.DarkKhaki,
- Rgba32.DarkMagenta,
- Rgba32.DarkOliveGreen,
- Rgba32.DarkOrange,
- Rgba32.DarkOrchid,
- Rgba32.DarkRed,
- Rgba32.DarkSalmon,
- Rgba32.DarkSeaGreen,
- Rgba32.DarkSlateBlue,
- Rgba32.DarkSlateGray,
- Rgba32.DarkTurquoise,
- Rgba32.DarkViolet,
- Rgba32.DeepPink,
- Rgba32.DeepSkyBlue,
- Rgba32.DimGray,
- Rgba32.DodgerBlue,
- Rgba32.Firebrick,
- Rgba32.FloralWhite,
- Rgba32.ForestGreen,
- Rgba32.Fuchsia,
- Rgba32.Gainsboro,
- Rgba32.GhostWhite,
- Rgba32.Gold,
- Rgba32.Goldenrod,
- Rgba32.Gray,
- Rgba32.Green,
- Rgba32.GreenYellow,
- Rgba32.Honeydew,
- Rgba32.HotPink,
- Rgba32.IndianRed,
- Rgba32.Indigo,
- Rgba32.Ivory,
- Rgba32.Khaki,
- Rgba32.Lavender,
- Rgba32.LavenderBlush,
- Rgba32.LawnGreen,
- Rgba32.LemonChiffon,
- Rgba32.LightBlue,
- Rgba32.LightCoral,
- Rgba32.LightCyan,
- Rgba32.LightGoldenrodYellow,
- Rgba32.LightGray,
- Rgba32.LightGreen,
- Rgba32.LightPink,
- Rgba32.LightSalmon,
- Rgba32.LightSeaGreen,
- Rgba32.LightSkyBlue,
- Rgba32.LightSlateGray,
- Rgba32.LightSteelBlue,
- Rgba32.LightYellow,
- Rgba32.Lime,
- Rgba32.LimeGreen,
- Rgba32.Linen,
- Rgba32.Magenta,
- Rgba32.Maroon,
- Rgba32.MediumAquamarine,
- Rgba32.MediumBlue,
- Rgba32.MediumOrchid,
- Rgba32.MediumPurple,
- Rgba32.MediumSeaGreen,
- Rgba32.MediumSlateBlue,
- Rgba32.MediumSpringGreen,
- Rgba32.MediumTurquoise,
- Rgba32.MediumVioletRed,
- Rgba32.MidnightBlue,
- Rgba32.MintCream,
- Rgba32.MistyRose,
- Rgba32.Moccasin,
- Rgba32.NavajoWhite,
- Rgba32.Navy,
- Rgba32.OldLace,
- Rgba32.Olive,
- Rgba32.OliveDrab,
- Rgba32.Orange,
- Rgba32.OrangeRed,
- Rgba32.Orchid,
- Rgba32.PaleGoldenrod,
- Rgba32.PaleGreen,
- Rgba32.PaleTurquoise,
- Rgba32.PaleVioletRed,
- Rgba32.PapayaWhip,
- Rgba32.PeachPuff,
- Rgba32.Peru,
- Rgba32.Pink,
- Rgba32.Plum,
- Rgba32.PowderBlue,
- Rgba32.Purple,
- Rgba32.RebeccaPurple,
- Rgba32.Red,
- Rgba32.RosyBrown,
- Rgba32.RoyalBlue,
- Rgba32.SaddleBrown,
- Rgba32.Salmon,
- Rgba32.SandyBrown,
- Rgba32.SeaGreen,
- Rgba32.SeaShell,
- Rgba32.Sienna,
- Rgba32.Silver,
- Rgba32.SkyBlue,
- Rgba32.SlateBlue,
- Rgba32.SlateGray,
- Rgba32.Snow,
- Rgba32.SpringGreen,
- Rgba32.SteelBlue,
- Rgba32.Tan,
- Rgba32.Teal,
- Rgba32.Thistle,
- Rgba32.Tomato,
- Rgba32.Transparent,
- Rgba32.Turquoise,
- Rgba32.Violet,
- Rgba32.Wheat,
- Rgba32.White,
- Rgba32.WhiteSmoke,
- Rgba32.Yellow,
- Rgba32.YellowGreen
+ Color.AliceBlue,
+ Color.AntiqueWhite,
+ Color.Aqua,
+ Color.Aquamarine,
+ Color.Azure,
+ Color.Beige,
+ Color.Bisque,
+ Color.Black,
+ Color.BlanchedAlmond,
+ Color.Blue,
+ Color.BlueViolet,
+ Color.Brown,
+ Color.BurlyWood,
+ Color.CadetBlue,
+ Color.Chartreuse,
+ Color.Chocolate,
+ Color.Coral,
+ Color.CornflowerBlue,
+ Color.Cornsilk,
+ Color.Crimson,
+ Color.Cyan,
+ Color.DarkBlue,
+ Color.DarkCyan,
+ Color.DarkGoldenrod,
+ Color.DarkGray,
+ Color.DarkGreen,
+ Color.DarkKhaki,
+ Color.DarkMagenta,
+ Color.DarkOliveGreen,
+ Color.DarkOrange,
+ Color.DarkOrchid,
+ Color.DarkRed,
+ Color.DarkSalmon,
+ Color.DarkSeaGreen,
+ Color.DarkSlateBlue,
+ Color.DarkSlateGray,
+ Color.DarkTurquoise,
+ Color.DarkViolet,
+ Color.DeepPink,
+ Color.DeepSkyBlue,
+ Color.DimGray,
+ Color.DodgerBlue,
+ Color.Firebrick,
+ Color.FloralWhite,
+ Color.ForestGreen,
+ Color.Fuchsia,
+ Color.Gainsboro,
+ Color.GhostWhite,
+ Color.Gold,
+ Color.Goldenrod,
+ Color.Gray,
+ Color.Green,
+ Color.GreenYellow,
+ Color.Honeydew,
+ Color.HotPink,
+ Color.IndianRed,
+ Color.Indigo,
+ Color.Ivory,
+ Color.Khaki,
+ Color.Lavender,
+ Color.LavenderBlush,
+ Color.LawnGreen,
+ Color.LemonChiffon,
+ Color.LightBlue,
+ Color.LightCoral,
+ Color.LightCyan,
+ Color.LightGoldenrodYellow,
+ Color.LightGray,
+ Color.LightGreen,
+ Color.LightPink,
+ Color.LightSalmon,
+ Color.LightSeaGreen,
+ Color.LightSkyBlue,
+ Color.LightSlateGray,
+ Color.LightSteelBlue,
+ Color.LightYellow,
+ Color.Lime,
+ Color.LimeGreen,
+ Color.Linen,
+ Color.Magenta,
+ Color.Maroon,
+ Color.MediumAquamarine,
+ Color.MediumBlue,
+ Color.MediumOrchid,
+ Color.MediumPurple,
+ Color.MediumSeaGreen,
+ Color.MediumSlateBlue,
+ Color.MediumSpringGreen,
+ Color.MediumTurquoise,
+ Color.MediumVioletRed,
+ Color.MidnightBlue,
+ Color.MintCream,
+ Color.MistyRose,
+ Color.Moccasin,
+ Color.NavajoWhite,
+ Color.Navy,
+ Color.OldLace,
+ Color.Olive,
+ Color.OliveDrab,
+ Color.Orange,
+ Color.OrangeRed,
+ Color.Orchid,
+ Color.PaleGoldenrod,
+ Color.PaleGreen,
+ Color.PaleTurquoise,
+ Color.PaleVioletRed,
+ Color.PapayaWhip,
+ Color.PeachPuff,
+ Color.Peru,
+ Color.Pink,
+ Color.Plum,
+ Color.PowderBlue,
+ Color.Purple,
+ Color.RebeccaPurple,
+ Color.Red,
+ Color.RosyBrown,
+ Color.RoyalBlue,
+ Color.SaddleBrown,
+ Color.Salmon,
+ Color.SandyBrown,
+ Color.SeaGreen,
+ Color.SeaShell,
+ Color.Sienna,
+ Color.Silver,
+ Color.SkyBlue,
+ Color.SlateBlue,
+ Color.SlateGray,
+ Color.Snow,
+ Color.SpringGreen,
+ Color.SteelBlue,
+ Color.Tan,
+ Color.Teal,
+ Color.Thistle,
+ Color.Tomato,
+ Color.Transparent,
+ Color.Turquoise,
+ Color.Violet,
+ Color.Wheat,
+ Color.White,
+ Color.WhiteSmoke,
+ Color.Yellow,
+ Color.YellowGreen
};
///
/// Gets a collection of colors as defined in the original second edition of Werner’s Nomenclature of Colours 1821.
/// The hex codes were collected and defined by Nicholas Rougeux
///
- public static readonly Rgba32[] WernerColors =
+ public static readonly Color[] WernerColors =
{
- Rgba32.FromHex("#f1e9cd"),
- Rgba32.FromHex("#f2e7cf"),
- Rgba32.FromHex("#ece6d0"),
- Rgba32.FromHex("#f2eacc"),
- Rgba32.FromHex("#f3e9ca"),
- Rgba32.FromHex("#f2ebcd"),
- Rgba32.FromHex("#e6e1c9"),
- Rgba32.FromHex("#e2ddc6"),
- Rgba32.FromHex("#cbc8b7"),
- Rgba32.FromHex("#bfbbb0"),
- Rgba32.FromHex("#bebeb3"),
- Rgba32.FromHex("#b7b5ac"),
- Rgba32.FromHex("#bab191"),
- Rgba32.FromHex("#9c9d9a"),
- Rgba32.FromHex("#8a8d84"),
- Rgba32.FromHex("#5b5c61"),
- Rgba32.FromHex("#555152"),
- Rgba32.FromHex("#413f44"),
- Rgba32.FromHex("#454445"),
- Rgba32.FromHex("#423937"),
- Rgba32.FromHex("#433635"),
- Rgba32.FromHex("#252024"),
- Rgba32.FromHex("#241f20"),
- Rgba32.FromHex("#281f3f"),
- Rgba32.FromHex("#1c1949"),
- Rgba32.FromHex("#4f638d"),
- Rgba32.FromHex("#383867"),
- Rgba32.FromHex("#5c6b8f"),
- Rgba32.FromHex("#657abb"),
- Rgba32.FromHex("#6f88af"),
- Rgba32.FromHex("#7994b5"),
- Rgba32.FromHex("#6fb5a8"),
- Rgba32.FromHex("#719ba2"),
- Rgba32.FromHex("#8aa1a6"),
- Rgba32.FromHex("#d0d5d3"),
- Rgba32.FromHex("#8590ae"),
- Rgba32.FromHex("#3a2f52"),
- Rgba32.FromHex("#39334a"),
- Rgba32.FromHex("#6c6d94"),
- Rgba32.FromHex("#584c77"),
- Rgba32.FromHex("#533552"),
- Rgba32.FromHex("#463759"),
- Rgba32.FromHex("#bfbac0"),
- Rgba32.FromHex("#77747f"),
- Rgba32.FromHex("#4a475c"),
- Rgba32.FromHex("#b8bfaf"),
- Rgba32.FromHex("#b2b599"),
- Rgba32.FromHex("#979c84"),
- Rgba32.FromHex("#5d6161"),
- Rgba32.FromHex("#61ac86"),
- Rgba32.FromHex("#a4b6a7"),
- Rgba32.FromHex("#adba98"),
- Rgba32.FromHex("#93b778"),
- Rgba32.FromHex("#7d8c55"),
- Rgba32.FromHex("#33431e"),
- Rgba32.FromHex("#7c8635"),
- Rgba32.FromHex("#8e9849"),
- Rgba32.FromHex("#c2c190"),
- Rgba32.FromHex("#67765b"),
- Rgba32.FromHex("#ab924b"),
- Rgba32.FromHex("#c8c76f"),
- Rgba32.FromHex("#ccc050"),
- Rgba32.FromHex("#ebdd99"),
- Rgba32.FromHex("#ab9649"),
- Rgba32.FromHex("#dbc364"),
- Rgba32.FromHex("#e6d058"),
- Rgba32.FromHex("#ead665"),
- Rgba32.FromHex("#d09b2c"),
- Rgba32.FromHex("#a36629"),
- Rgba32.FromHex("#a77d35"),
- Rgba32.FromHex("#f0d696"),
- Rgba32.FromHex("#d7c485"),
- Rgba32.FromHex("#f1d28c"),
- Rgba32.FromHex("#efcc83"),
- Rgba32.FromHex("#f3daa7"),
- Rgba32.FromHex("#dfa837"),
- Rgba32.FromHex("#ebbc71"),
- Rgba32.FromHex("#d17c3f"),
- Rgba32.FromHex("#92462f"),
- Rgba32.FromHex("#be7249"),
- Rgba32.FromHex("#bb603c"),
- Rgba32.FromHex("#c76b4a"),
- Rgba32.FromHex("#a75536"),
- Rgba32.FromHex("#b63e36"),
- Rgba32.FromHex("#b5493a"),
- Rgba32.FromHex("#cd6d57"),
- Rgba32.FromHex("#711518"),
- Rgba32.FromHex("#e9c49d"),
- Rgba32.FromHex("#eedac3"),
- Rgba32.FromHex("#eecfbf"),
- Rgba32.FromHex("#ce536b"),
- Rgba32.FromHex("#b74a70"),
- Rgba32.FromHex("#b7757c"),
- Rgba32.FromHex("#612741"),
- Rgba32.FromHex("#7a4848"),
- Rgba32.FromHex("#3f3033"),
- Rgba32.FromHex("#8d746f"),
- Rgba32.FromHex("#4d3635"),
- Rgba32.FromHex("#6e3b31"),
- Rgba32.FromHex("#864735"),
- Rgba32.FromHex("#553d3a"),
- Rgba32.FromHex("#613936"),
- Rgba32.FromHex("#7a4b3a"),
- Rgba32.FromHex("#946943"),
- Rgba32.FromHex("#c39e6d"),
- Rgba32.FromHex("#513e32"),
- Rgba32.FromHex("#8b7859"),
- Rgba32.FromHex("#9b856b"),
- Rgba32.FromHex("#766051"),
- Rgba32.FromHex("#453b32")
+ Color.ParseHex("#f1e9cd"),
+ Color.ParseHex("#f2e7cf"),
+ Color.ParseHex("#ece6d0"),
+ Color.ParseHex("#f2eacc"),
+ Color.ParseHex("#f3e9ca"),
+ Color.ParseHex("#f2ebcd"),
+ Color.ParseHex("#e6e1c9"),
+ Color.ParseHex("#e2ddc6"),
+ Color.ParseHex("#cbc8b7"),
+ Color.ParseHex("#bfbbb0"),
+ Color.ParseHex("#bebeb3"),
+ Color.ParseHex("#b7b5ac"),
+ Color.ParseHex("#bab191"),
+ Color.ParseHex("#9c9d9a"),
+ Color.ParseHex("#8a8d84"),
+ Color.ParseHex("#5b5c61"),
+ Color.ParseHex("#555152"),
+ Color.ParseHex("#413f44"),
+ Color.ParseHex("#454445"),
+ Color.ParseHex("#423937"),
+ Color.ParseHex("#433635"),
+ Color.ParseHex("#252024"),
+ Color.ParseHex("#241f20"),
+ Color.ParseHex("#281f3f"),
+ Color.ParseHex("#1c1949"),
+ Color.ParseHex("#4f638d"),
+ Color.ParseHex("#383867"),
+ Color.ParseHex("#5c6b8f"),
+ Color.ParseHex("#657abb"),
+ Color.ParseHex("#6f88af"),
+ Color.ParseHex("#7994b5"),
+ Color.ParseHex("#6fb5a8"),
+ Color.ParseHex("#719ba2"),
+ Color.ParseHex("#8aa1a6"),
+ Color.ParseHex("#d0d5d3"),
+ Color.ParseHex("#8590ae"),
+ Color.ParseHex("#3a2f52"),
+ Color.ParseHex("#39334a"),
+ Color.ParseHex("#6c6d94"),
+ Color.ParseHex("#584c77"),
+ Color.ParseHex("#533552"),
+ Color.ParseHex("#463759"),
+ Color.ParseHex("#bfbac0"),
+ Color.ParseHex("#77747f"),
+ Color.ParseHex("#4a475c"),
+ Color.ParseHex("#b8bfaf"),
+ Color.ParseHex("#b2b599"),
+ Color.ParseHex("#979c84"),
+ Color.ParseHex("#5d6161"),
+ Color.ParseHex("#61ac86"),
+ Color.ParseHex("#a4b6a7"),
+ Color.ParseHex("#adba98"),
+ Color.ParseHex("#93b778"),
+ Color.ParseHex("#7d8c55"),
+ Color.ParseHex("#33431e"),
+ Color.ParseHex("#7c8635"),
+ Color.ParseHex("#8e9849"),
+ Color.ParseHex("#c2c190"),
+ Color.ParseHex("#67765b"),
+ Color.ParseHex("#ab924b"),
+ Color.ParseHex("#c8c76f"),
+ Color.ParseHex("#ccc050"),
+ Color.ParseHex("#ebdd99"),
+ Color.ParseHex("#ab9649"),
+ Color.ParseHex("#dbc364"),
+ Color.ParseHex("#e6d058"),
+ Color.ParseHex("#ead665"),
+ Color.ParseHex("#d09b2c"),
+ Color.ParseHex("#a36629"),
+ Color.ParseHex("#a77d35"),
+ Color.ParseHex("#f0d696"),
+ Color.ParseHex("#d7c485"),
+ Color.ParseHex("#f1d28c"),
+ Color.ParseHex("#efcc83"),
+ Color.ParseHex("#f3daa7"),
+ Color.ParseHex("#dfa837"),
+ Color.ParseHex("#ebbc71"),
+ Color.ParseHex("#d17c3f"),
+ Color.ParseHex("#92462f"),
+ Color.ParseHex("#be7249"),
+ Color.ParseHex("#bb603c"),
+ Color.ParseHex("#c76b4a"),
+ Color.ParseHex("#a75536"),
+ Color.ParseHex("#b63e36"),
+ Color.ParseHex("#b5493a"),
+ Color.ParseHex("#cd6d57"),
+ Color.ParseHex("#711518"),
+ Color.ParseHex("#e9c49d"),
+ Color.ParseHex("#eedac3"),
+ Color.ParseHex("#eecfbf"),
+ Color.ParseHex("#ce536b"),
+ Color.ParseHex("#b74a70"),
+ Color.ParseHex("#b7757c"),
+ Color.ParseHex("#612741"),
+ Color.ParseHex("#7a4848"),
+ Color.ParseHex("#3f3033"),
+ Color.ParseHex("#8d746f"),
+ Color.ParseHex("#4d3635"),
+ Color.ParseHex("#6e3b31"),
+ Color.ParseHex("#864735"),
+ Color.ParseHex("#553d3a"),
+ Color.ParseHex("#613936"),
+ Color.ParseHex("#7a4b3a"),
+ Color.ParseHex("#946943"),
+ Color.ParseHex("#c39e6d"),
+ Color.ParseHex("#513e32"),
+ Color.ParseHex("#8b7859"),
+ Color.ParseHex("#9b856b"),
+ Color.ParseHex("#766051"),
+ Color.ParseHex("#453b32")
};
+
+ public static readonly Dictionary ColorNames =
+ new Dictionary(StringComparer.OrdinalIgnoreCase)
+ {
+ { nameof(Color.AliceBlue), Color.AliceBlue },
+ { nameof(Color.AntiqueWhite), Color.AntiqueWhite },
+ { nameof(Color.Aqua), Color.Aqua },
+ { nameof(Color.Aquamarine), Color.Aquamarine },
+ { nameof(Color.Azure), Color.Azure },
+ { nameof(Color.Beige), Color.Beige },
+ { nameof(Color.Bisque), Color.Bisque },
+ { nameof(Color.Black), Color.Black },
+ { nameof(Color.BlanchedAlmond), Color.BlanchedAlmond },
+ { nameof(Color.Blue), Color.Blue },
+ { nameof(Color.BlueViolet), Color.BlueViolet },
+ { nameof(Color.Brown), Color.Brown },
+ { nameof(Color.BurlyWood), Color.BurlyWood },
+ { nameof(Color.CadetBlue), Color.CadetBlue },
+ { nameof(Color.Chartreuse), Color.Chartreuse },
+ { nameof(Color.Chocolate), Color.Chocolate },
+ { nameof(Color.Coral), Color.Coral },
+ { nameof(Color.CornflowerBlue), Color.CornflowerBlue },
+ { nameof(Color.Cornsilk), Color.Cornsilk },
+ { nameof(Color.Crimson), Color.Crimson },
+ { nameof(Color.Cyan), Color.Cyan },
+ { nameof(Color.DarkBlue), Color.DarkBlue },
+ { nameof(Color.DarkCyan), Color.DarkCyan },
+ { nameof(Color.DarkGoldenrod), Color.DarkGoldenrod },
+ { nameof(Color.DarkGray), Color.DarkGray },
+ { nameof(Color.DarkGreen), Color.DarkGreen },
+ { nameof(Color.DarkGrey), Color.DarkGrey },
+ { nameof(Color.DarkKhaki), Color.DarkKhaki },
+ { nameof(Color.DarkMagenta), Color.DarkMagenta },
+ { nameof(Color.DarkOliveGreen), Color.DarkOliveGreen },
+ { nameof(Color.DarkOrange), Color.DarkOrange },
+ { nameof(Color.DarkOrchid), Color.DarkOrchid },
+ { nameof(Color.DarkRed), Color.DarkRed },
+ { nameof(Color.DarkSalmon), Color.DarkSalmon },
+ { nameof(Color.DarkSeaGreen), Color.DarkSeaGreen },
+ { nameof(Color.DarkSlateBlue), Color.DarkSlateBlue },
+ { nameof(Color.DarkSlateGray), Color.DarkSlateGray },
+ { nameof(Color.DarkSlateGrey), Color.DarkSlateGrey },
+ { nameof(Color.DarkTurquoise), Color.DarkTurquoise },
+ { nameof(Color.DarkViolet), Color.DarkViolet },
+ { nameof(Color.DeepPink), Color.DeepPink },
+ { nameof(Color.DeepSkyBlue), Color.DeepSkyBlue },
+ { nameof(Color.DimGray), Color.DimGray },
+ { nameof(Color.DimGrey), Color.DimGrey },
+ { nameof(Color.DodgerBlue), Color.DodgerBlue },
+ { nameof(Color.Firebrick), Color.Firebrick },
+ { nameof(Color.FloralWhite), Color.FloralWhite },
+ { nameof(Color.ForestGreen), Color.ForestGreen },
+ { nameof(Color.Fuchsia), Color.Fuchsia },
+ { nameof(Color.Gainsboro), Color.Gainsboro },
+ { nameof(Color.GhostWhite), Color.GhostWhite },
+ { nameof(Color.Gold), Color.Gold },
+ { nameof(Color.Goldenrod), Color.Goldenrod },
+ { nameof(Color.Gray), Color.Gray },
+ { nameof(Color.Green), Color.Green },
+ { nameof(Color.GreenYellow), Color.GreenYellow },
+ { nameof(Color.Grey), Color.Grey },
+ { nameof(Color.Honeydew), Color.Honeydew },
+ { nameof(Color.HotPink), Color.HotPink },
+ { nameof(Color.IndianRed), Color.IndianRed },
+ { nameof(Color.Indigo), Color.Indigo },
+ { nameof(Color.Ivory), Color.Ivory },
+ { nameof(Color.Khaki), Color.Khaki },
+ { nameof(Color.Lavender), Color.Lavender },
+ { nameof(Color.LavenderBlush), Color.LavenderBlush },
+ { nameof(Color.LawnGreen), Color.LawnGreen },
+ { nameof(Color.LemonChiffon), Color.LemonChiffon },
+ { nameof(Color.LightBlue), Color.LightBlue },
+ { nameof(Color.LightCoral), Color.LightCoral },
+ { nameof(Color.LightCyan), Color.LightCyan },
+ { nameof(Color.LightGoldenrodYellow), Color.LightGoldenrodYellow },
+ { nameof(Color.LightGray), Color.LightGray },
+ { nameof(Color.LightGreen), Color.LightGreen },
+ { nameof(Color.LightGrey), Color.LightGrey },
+ { nameof(Color.LightPink), Color.LightPink },
+ { nameof(Color.LightSalmon), Color.LightSalmon },
+ { nameof(Color.LightSeaGreen), Color.LightSeaGreen },
+ { nameof(Color.LightSkyBlue), Color.LightSkyBlue },
+ { nameof(Color.LightSlateGray), Color.LightSlateGray },
+ { nameof(Color.LightSlateGrey), Color.LightSlateGrey },
+ { nameof(Color.LightSteelBlue), Color.LightSteelBlue },
+ { nameof(Color.LightYellow), Color.LightYellow },
+ { nameof(Color.Lime), Color.Lime },
+ { nameof(Color.LimeGreen), Color.LimeGreen },
+ { nameof(Color.Linen), Color.Linen },
+ { nameof(Color.Magenta), Color.Magenta },
+ { nameof(Color.Maroon), Color.Maroon },
+ { nameof(Color.MediumAquamarine), Color.MediumAquamarine },
+ { nameof(Color.MediumBlue), Color.MediumBlue },
+ { nameof(Color.MediumOrchid), Color.MediumOrchid },
+ { nameof(Color.MediumPurple), Color.MediumPurple },
+ { nameof(Color.MediumSeaGreen), Color.MediumSeaGreen },
+ { nameof(Color.MediumSlateBlue), Color.MediumSlateBlue },
+ { nameof(Color.MediumSpringGreen), Color.MediumSpringGreen },
+ { nameof(Color.MediumTurquoise), Color.MediumTurquoise },
+ { nameof(Color.MediumVioletRed), Color.MediumVioletRed },
+ { nameof(Color.MidnightBlue), Color.MidnightBlue },
+ { nameof(Color.MintCream), Color.MintCream },
+ { nameof(Color.MistyRose), Color.MistyRose },
+ { nameof(Color.Moccasin), Color.Moccasin },
+ { nameof(Color.NavajoWhite), Color.NavajoWhite },
+ { nameof(Color.Navy), Color.Navy },
+ { nameof(Color.OldLace), Color.OldLace },
+ { nameof(Color.Olive), Color.Olive },
+ { nameof(Color.OliveDrab), Color.OliveDrab },
+ { nameof(Color.Orange), Color.Orange },
+ { nameof(Color.OrangeRed), Color.OrangeRed },
+ { nameof(Color.Orchid), Color.Orchid },
+ { nameof(Color.PaleGoldenrod), Color.PaleGoldenrod },
+ { nameof(Color.PaleGreen), Color.PaleGreen },
+ { nameof(Color.PaleTurquoise), Color.PaleTurquoise },
+ { nameof(Color.PaleVioletRed), Color.PaleVioletRed },
+ { nameof(Color.PapayaWhip), Color.PapayaWhip },
+ { nameof(Color.PeachPuff), Color.PeachPuff },
+ { nameof(Color.Peru), Color.Peru },
+ { nameof(Color.Pink), Color.Pink },
+ { nameof(Color.Plum), Color.Plum },
+ { nameof(Color.PowderBlue), Color.PowderBlue },
+ { nameof(Color.Purple), Color.Purple },
+ { nameof(Color.RebeccaPurple), Color.RebeccaPurple },
+ { nameof(Color.Red), Color.Red },
+ { nameof(Color.RosyBrown), Color.RosyBrown },
+ { nameof(Color.RoyalBlue), Color.RoyalBlue },
+ { nameof(Color.SaddleBrown), Color.SaddleBrown },
+ { nameof(Color.Salmon), Color.Salmon },
+ { nameof(Color.SandyBrown), Color.SandyBrown },
+ { nameof(Color.SeaGreen), Color.SeaGreen },
+ { nameof(Color.SeaShell), Color.SeaShell },
+ { nameof(Color.Sienna), Color.Sienna },
+ { nameof(Color.Silver), Color.Silver },
+ { nameof(Color.SkyBlue), Color.SkyBlue },
+ { nameof(Color.SlateBlue), Color.SlateBlue },
+ { nameof(Color.SlateGray), Color.SlateGray },
+ { nameof(Color.SlateGrey), Color.SlateGrey },
+ { nameof(Color.Snow), Color.Snow },
+ { nameof(Color.SpringGreen), Color.SpringGreen },
+ { nameof(Color.SteelBlue), Color.SteelBlue },
+ { nameof(Color.Tan), Color.Tan },
+ { nameof(Color.Teal), Color.Teal },
+ { nameof(Color.Thistle), Color.Thistle },
+ { nameof(Color.Tomato), Color.Tomato },
+ { nameof(Color.Transparent), Color.Transparent },
+ { nameof(Color.Turquoise), Color.Turquoise },
+ { nameof(Color.Violet), Color.Violet },
+ { nameof(Color.Wheat), Color.Wheat },
+ { nameof(Color.White), Color.White },
+ { nameof(Color.WhiteSmoke), Color.WhiteSmoke },
+ { nameof(Color.Yellow), Color.Yellow },
+ { nameof(Color.YellowGreen), Color.YellowGreen }
+ };
}
}
diff --git a/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs b/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
index 31e63a2fd7..5206910651 100644
--- a/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
+++ b/tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
@@ -128,7 +128,7 @@ public void WorksWithDifferentLocations(TestImageProvider provider, int
using (Image background = provider.GetImage())
using (var overlay = new Image(50, 50))
{
- overlay.GetPixelSpan().Fill(Rgba32.Black);
+ overlay.GetPixelSpan().Fill(Color.Black);
background.Mutate(c => c.DrawImage(overlay, new Point(x, y), PixelColorBlendingMode.Normal, 1F));
@@ -184,7 +184,7 @@ public void DrawTransformed(TestImageProvider provider)
public void NonOverlappingImageThrows(TestImageProvider provider, int x, int y)
{
using (Image background = provider.GetImage())
- using (var overlay = new Image(Configuration.Default, 10, 10, Rgba32.Black))
+ using (var overlay = new Image(Configuration.Default, 10, 10, Color.Black))
{
ImageProcessingException ex = Assert.Throws(Test);
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
index ea1afa5b62..980898ffa3 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.Generic.cs
@@ -233,10 +233,10 @@ public void CreateFrame_Default()
[Fact]
public void CreateFrame_CustomFillColor()
{
- this.Image.Frames.CreateFrame(Rgba32.HotPink);
+ this.Image.Frames.CreateFrame(Color.HotPink);
Assert.Equal(2, this.Image.Frames.Count);
- this.Image.Frames[1].ComparePixelBufferTo(Rgba32.HotPink);
+ this.Image.Frames[1].ComparePixelBufferTo(Color.HotPink);
}
[Fact]
diff --git a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs
index 415c1af19f..08f0de38c5 100644
--- a/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs
+++ b/tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs
@@ -34,7 +34,7 @@ public void AddFrame_OfDifferentPixelType()
}
Rgba32[] expectedAllBlue =
- Enumerable.Repeat(Rgba32.Blue, this.Image.Width * this.Image.Height).ToArray();
+ Enumerable.Repeat((Rgba32)Color.Blue, this.Image.Width * this.Image.Height).ToArray();
Assert.Equal(2, this.Collection.Count);
var actualFrame = (ImageFrame)this.Collection[1];
@@ -55,7 +55,7 @@ public void InsertFrame_OfDifferentPixelType()
}
Rgba32[] expectedAllBlue =
- Enumerable.Repeat(Rgba32.Blue, this.Image.Width * this.Image.Height).ToArray();
+ Enumerable.Repeat((Rgba32)Color.Blue, this.Image.Width * this.Image.Height).ToArray();
Assert.Equal(2, this.Collection.Count);
var actualFrame = (ImageFrame)this.Collection[0];
@@ -201,13 +201,13 @@ public void CreateFrame_Default()
[Fact]
public void CreateFrame_CustomFillColor()
{
- this.Image.Frames.CreateFrame(Rgba32.HotPink);
+ this.Image.Frames.CreateFrame(Color.HotPink);
Assert.Equal(2, this.Image.Frames.Count);
var frame = (ImageFrame)this.Image.Frames[1];
- frame.ComparePixelBufferTo(Rgba32.HotPink);
+ frame.ComparePixelBufferTo(Color.HotPink);
}
[Fact]
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs b/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs
index 7a5fa87290..399652851c 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System;
@@ -16,18 +16,18 @@ public class LoadPixelData
[InlineData(true)]
public void FromPixels(bool useSpan)
{
- Rgba32[] data = { Rgba32.Black, Rgba32.White, Rgba32.White, Rgba32.Black, };
+ Rgba32[] data = { Color.Black, Color.White, Color.White, Color.Black, };
using (Image img = useSpan
? Image.LoadPixelData(data.AsSpan(), 2, 2)
: Image.LoadPixelData(data, 2, 2))
{
Assert.NotNull(img);
- Assert.Equal(Rgba32.Black, img[0, 0]);
- Assert.Equal(Rgba32.White, img[0, 1]);
+ Assert.Equal(Color.Black, (Color)img[0, 0]);
+ Assert.Equal(Color.White, (Color)img[0, 1]);
- Assert.Equal(Rgba32.White, img[1, 0]);
- Assert.Equal(Rgba32.Black, img[1, 1]);
+ Assert.Equal(Color.White, (Color)img[1, 0]);
+ Assert.Equal(Color.Black, (Color)img[1, 1]);
}
}
@@ -48,13 +48,13 @@ public void FromBytes(bool useSpan)
: Image.LoadPixelData(data, 2, 2))
{
Assert.NotNull(img);
- Assert.Equal(Rgba32.Black, img[0, 0]);
- Assert.Equal(Rgba32.White, img[0, 1]);
+ Assert.Equal(Color.Black, (Color)img[0, 0]);
+ Assert.Equal(Color.White, (Color)img[0, 1]);
- Assert.Equal(Rgba32.White, img[1, 0]);
- Assert.Equal(Rgba32.Black, img[1, 1]);
+ Assert.Equal(Color.White, (Color)img[1, 0]);
+ Assert.Equal(Color.Black, (Color)img[1, 1]);
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/ImageSharp.Tests/Image/ImageTests.cs b/tests/ImageSharp.Tests/Image/ImageTests.cs
index 99bdfceccb..0fa917972f 100644
--- a/tests/ImageSharp.Tests/Image/ImageTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageTests.cs
@@ -52,7 +52,7 @@ public void Configuration_Width_Height()
public void Configuration_Width_Height_BackgroundColor()
{
Configuration configuration = Configuration.Default.Clone();
- Rgba32 color = Rgba32.Aquamarine;
+ Rgba32 color = Color.Aquamarine;
using (var image = new Image(configuration, 11, 23, color))
{
diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
index 2a37ff8970..4c23e4955f 100644
--- a/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/PixelBlenderTests.cs
@@ -45,15 +45,15 @@ public void ReturnsCorrectBlender(TestPixel pixel, Type type, Pi
public static TheoryData ColorBlendingExpectedResults = new TheoryData
{
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Normal, Rgba32.MidnightBlue },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Screen, new Rgba32(0xFFEEE7FF) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.HardLight, new Rgba32(0xFFC62D32) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Overlay, new Rgba32(0xFFDDCEFF) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Darken, new Rgba32(0xFF701919) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Lighten, new Rgba32(0xFFE1E4FF) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Add, new Rgba32(0xFFFFFDFF) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Subtract, new Rgba32(0xFF71CBE6) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelColorBlendingMode.Multiply, new Rgba32(0xFF631619) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Normal, Color.MidnightBlue },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Screen, new Rgba32(0xFFEEE7FF) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.HardLight, new Rgba32(0xFFC62D32) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Overlay, new Rgba32(0xFFDDCEFF) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Darken, new Rgba32(0xFF701919) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Lighten, new Rgba32(0xFFE1E4FF) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Add, new Rgba32(0xFFFFFDFF) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Subtract, new Rgba32(0xFF71CBE6) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelColorBlendingMode.Multiply, new Rgba32(0xFF631619) },
};
[Theory]
@@ -69,18 +69,18 @@ public void TestColorBlendingModes(Rgba32 backdrop, Rgba32 source, float opacity
public static TheoryData AlphaCompositionExpectedResults = new TheoryData
{
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.Clear, new Rgba32(0) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.Xor, new Rgba32(0) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.Dest, Rgba32.MistyRose },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.DestAtop, Rgba32.MistyRose },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.DestIn, Rgba32.MistyRose },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.DestOut, new Rgba32(0) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.DestOver, Rgba32.MistyRose },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.Src, Rgba32.MidnightBlue },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.SrcAtop, Rgba32.MidnightBlue },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.SrcIn, Rgba32.MidnightBlue },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.SrcOut, new Rgba32(0) },
- { Rgba32.MistyRose, Rgba32.MidnightBlue, 1, PixelAlphaCompositionMode.SrcOver, Rgba32.MidnightBlue },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.Clear, new Rgba32(0) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.Xor, new Rgba32(0) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.Dest, Color.MistyRose },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.DestAtop, Color.MistyRose },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.DestIn, Color.MistyRose },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.DestOut, new Rgba32(0) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.DestOver, Color.MistyRose },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.Src, Color.MidnightBlue },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.SrcAtop, Color.MidnightBlue },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.SrcIn, Color.MidnightBlue },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.SrcOut, new Rgba32(0) },
+ { Color.MistyRose, Color.MidnightBlue, 1, PixelAlphaCompositionMode.SrcOver, Color.MidnightBlue },
};
[Theory]
diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
index a242dba41a..6656ba19c2 100644
--- a/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
@@ -21,10 +21,10 @@ public void AreEqual()
{
var color1 = new Rgba32(0, 0, 0);
var color2 = new Rgba32(0, 0, 0, 1F);
- var color3 = Rgba32.FromHex("#000");
- var color4 = Rgba32.FromHex("#000F");
- var color5 = Rgba32.FromHex("#000000");
- var color6 = Rgba32.FromHex("#000000FF");
+ var color3 = Rgba32.ParseHex("#000");
+ var color4 = Rgba32.ParseHex("#000F");
+ var color5 = Rgba32.ParseHex("#000000");
+ var color6 = Rgba32.ParseHex("#000000FF");
Assert.Equal(color1, color2);
Assert.Equal(color1, color3);
@@ -41,9 +41,9 @@ public void AreNotEqual()
{
var color1 = new Rgba32(255, 0, 0, 255);
var color2 = new Rgba32(0, 0, 0, 255);
- var color3 = Rgba32.FromHex("#000");
- var color4 = Rgba32.FromHex("#000000");
- var color5 = Rgba32.FromHex("#FF000000");
+ var color3 = Rgba32.ParseHex("#000");
+ var color4 = Rgba32.ParseHex("#000000");
+ var color5 = Rgba32.ParseHex("#FF000000");
Assert.NotEqual(color1, color2);
Assert.NotEqual(color1, color3);
@@ -89,7 +89,7 @@ public void ConstructorAssignsProperties()
public void FromAndToHex()
{
// 8 digit hex matches css4 spec. RRGGBBAA
- var color = Rgba32.FromHex("#AABBCCDD"); // 170, 187, 204, 221
+ var color = Rgba32.ParseHex("#AABBCCDD"); // 170, 187, 204, 221
Assert.Equal(170, color.R);
Assert.Equal(187, color.G);
Assert.Equal(204, color.B);
diff --git a/tests/ImageSharp.Tests/PixelFormats/UnPackedPixelTests.cs b/tests/ImageSharp.Tests/PixelFormats/UnPackedPixelTests.cs
index bd8c647421..162775a25f 100644
--- a/tests/ImageSharp.Tests/PixelFormats/UnPackedPixelTests.cs
+++ b/tests/ImageSharp.Tests/PixelFormats/UnPackedPixelTests.cs
@@ -60,7 +60,7 @@ public void Color_Types_From_Vector3_Produce_Equal_Scaled_Component_OutPut()
[Fact]
public void Color_Types_From_Hex_Produce_Equal_Scaled_Component_OutPut()
{
- var color = Rgba32.FromHex("183060C0");
+ var color = Rgba32.ParseHex("183060C0");
var colorVector = RgbaVector.FromHex("183060C0");
Assert.Equal(color.R, (byte)(colorVector.R * 255));
diff --git a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
index 100734f30f..ea000ae2a6 100644
--- a/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Overlays/GlowTest.cs
@@ -27,7 +27,7 @@ public void Glow_GlowProcessorWithDefaultValues()
[Fact]
public void Glow_Color_GlowProcessorWithDefaultValues()
{
- this.operations.Glow(Rgba32.Aquamarine);
+ this.operations.Glow(Color.Aquamarine);
GlowProcessor p = this.Verify();
Assert.Equal(new GraphicsOptions(), p.GraphicsOptions, GraphicsOptionsComparer);
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
index f2e1136ca6..2e9dc83ddc 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Quantization/PaletteQuantizerTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.PixelFormats;
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Quantization
{
public class PaletteQuantizerTests
{
- private static readonly Color[] Rgb = new Color[] { Rgba32.Red, Rgba32.Green, Rgba32.Blue };
+ private static readonly Color[] Rgb = new Color[] { Color.Red, Color.Green, Color.Blue };
[Fact]
public void PaletteQuantizerConstructor()
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
index ad592f9712..7c30256863 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/ProjectiveTransformTests.cs
@@ -77,7 +77,7 @@ public void Transform_WithSampler(TestImageProvider provider, st
}
[Theory]
- [WithSolidFilledImages(nameof(TaperMatrixData), 30, 30, nameof(Rgba32.Red), PixelTypes.Rgba32)]
+ [WithSolidFilledImages(nameof(TaperMatrixData), 30, 30, nameof(Color.Red), PixelTypes.Rgba32)]
public void Transform_WithTaperMatrix(TestImageProvider provider, TaperSide taperSide, TaperCorner taperCorner)
where TPixel : struct, IPixel
{
diff --git a/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs b/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
index 1b0253147a..c83adea91d 100644
--- a/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
+++ b/tests/ImageSharp.Tests/Quantization/WuQuantizerTests.cs
@@ -17,13 +17,13 @@ public void SinglePixelOpaque()
Configuration config = Configuration.Default;
var quantizer = new WuQuantizer(false);
- using (var image = new Image(config, 1, 1, Rgba32.Black))
+ using (var image = new Image(config, 1, 1, Color.Black))
using (IQuantizedFrame result = quantizer.CreateFrameQuantizer(config).QuantizeFrame(image.Frames[0]))
{
Assert.Equal(1, result.Palette.Length);
Assert.Equal(1, result.GetPixelSpan().Length);
- Assert.Equal(Rgba32.Black, result.Palette.Span[0]);
+ Assert.Equal(Color.Black, (Color)result.Palette.Span[0]);
Assert.Equal(0, result.GetPixelSpan()[0]);
}
}
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
index 26620c45e4..eed9bdd3fd 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/TestPatternProvider.cs
@@ -157,9 +157,9 @@ private static void TransparentGradients(Buffer2D pixels)
int bottom = pixels.Height;
int height = (int)Math.Ceiling(pixels.Height / 6f);
- var red = Rgba32.Red.ToVector4(); // use real color so we can see har it translates in the test pattern
- var green = Rgba32.Green.ToVector4(); // use real color so we can see har it translates in the test pattern
- var blue = Rgba32.Blue.ToVector4(); // use real color so we can see har it translates in the test pattern
+ var red = Color.Red.ToPixel().ToVector4(); // use real color so we can see how it translates in the test pattern
+ var green = Color.Green.ToPixel().ToVector4(); // use real color so we can see how it translates in the test pattern
+ var blue = Color.Blue.ToPixel().ToVector4(); // use real color so we can see how it translates in the test pattern
var c = default(TPixel);