Um in C#-WPF Anwendungen Farben anzulegen, nutzt man Color.FromRgb (https://msdn.microsoft.com/en-us/library/system.windows.media.color.fromrgb(v=vs.110).aspx). Diese API ist manchmal aber etwas sperrig. Immerhin kann man Farben ja mit Hilfe hexadezimaler Literale angeben, die eigentlich nur strukturierte Integer darstellen.
Das folgende Code-Snippet erlaubt genau das:
Beispiel:
Color red = 0xff0000.Rgb();
Color green = 0x00ff00.Rgb();
Color blue = 0x0000ff.Rgb();
using System.Windows.Media.Color;
// From PresentationCore.dll
internal static class HexToColorExtension
{
public static Color Rgb(this int hex)
{
return Color.FromRgb((byte)(hex >> 16), (byte)(hex >> 8), (byte)(hex >> 0));
}
public static Color Argb(this uint hex)
{
return Color.FromArgb((byte)(hex >> 24), (byte)(hex >> 16), (byte)(hex >> 8), (byte)(hex >> 0));
}
public static Color Argb(this int hex)
{
return Color.FromArgb((byte)(hex >> 24), (byte)(hex >> 16), (byte)(hex >> 8), (byte)(hex >> 0));
}
}
Kommentare zum Snippet