Feedback

C# - Hex Literale als Farbe verwenden.

Veröffentlicht von am 05.11.2015
(1 Bewertungen)
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();
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

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));
    }
}
Abgelegt unter Color, RGB, Hex.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!