Feedback

C# - ARGB-Farben

Veröffentlicht von am 11.11.2015
(0 Bewertungen)
Mit dieser Klasse kann man ARGB-Farben mithilfe ihres strings bzw. den Werten der Alpha-, Rot-, Grün- und Blau-Kanälen auflösen. Diese Klasse kann sowohl in Windows-Forms- und WPF-Projekten genutzt werden, da es mithilfe der bytes in ein System.Drawing.Color (WinForms) konvertiert werden kann und über den string in System.Windows.Media.Brush (WPF) mithilfe der Klasse BrushConverter konvertiert werden.

Da die Konvertierung von WinForms nach WPF und anders herum in nur wenigen Fällen Sinn ergibt ist diese Klasse für Erweiterungen, wie z.B. das WPFToolkit gedacht.
GFU-Schulungen  [Anzeige]

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

using System;
using System.Windows.Media;

namespace ClassLibrary1
{
    public class ARGBColor
    {
        public ARGBColor(string Hexadecimal)//#AARRGGBB
        {
            hexstring = Hexadecimal;
            char[] asChar = Hexadecimal.ToCharArray();
            string AA = Convert.ToString(asChar[1]) + Convert.ToString(asChar[2]);
            string RR = Convert.ToString(asChar[3]) + Convert.ToString(asChar[4]);
            string GG = Convert.ToString(asChar[5]) + Convert.ToString(asChar[6]);
            string BB = Convert.ToString(asChar[7]) + Convert.ToString(asChar[8]);
            a = Byte.Parse(AA, System.Globalization.NumberStyles.HexNumber);
            r = Byte.Parse(RR, System.Globalization.NumberStyles.HexNumber);
            g = Byte.Parse(GG, System.Globalization.NumberStyles.HexNumber);
            b = Byte.Parse(BB, System.Globalization.NumberStyles.HexNumber);
        }

        public ARGBColor(byte alpha, byte red, byte green, byte blue)
        {
            a = alpha;
            r = red;
            g = green;
            b = blue;
            hexstring = "#" + Convert.ToString(A, 16).PadLeft(2, '0') + Convert.ToString(R, 16).PadLeft(2, '0') + Convert.ToString(G, 16).PadLeft(2, '0') + Convert.ToString(B, 16).PadLeft(2, '0');
        }

        private string hexstring;
        public string Hexstring
        {
            get { return hexstring; }
            set
            {
                hexstring = value;
                char[] asChar = hexstring.ToCharArray();
                string AA = Convert.ToString(asChar[1]) + Convert.ToString(asChar[2]);
                string RR = Convert.ToString(asChar[3]) + Convert.ToString(asChar[4]);
                string GG = Convert.ToString(asChar[5]) + Convert.ToString(asChar[6]);
                string BB = Convert.ToString(asChar[7]) + Convert.ToString(asChar[8]);
                a = Byte.Parse(AA, System.Globalization.NumberStyles.HexNumber);
                r = Byte.Parse(RR, System.Globalization.NumberStyles.HexNumber);
                g = Byte.Parse(GG, System.Globalization.NumberStyles.HexNumber);
                b = Byte.Parse(BB, System.Globalization.NumberStyles.HexNumber);
            }
        }

        private byte a;
        public byte A
        {
            get { return a; }
            set { a = value; Hexstring = "#" + Convert.ToString(a, 16).PadLeft(2, '0') + Convert.ToString(r, 16).PadLeft(2, '0') + Convert.ToString(g, 16).PadLeft(2, '0') + Convert.ToString(b, 16).PadLeft(2, '0'); }
        }
        private byte r;
        public byte R
        {
            get { return r; }
            set { r = value; Hexstring = "#" + Convert.ToString(a, 16).PadLeft(2, '0') + Convert.ToString(r, 16).PadLeft(2, '0') + Convert.ToString(g, 16).PadLeft(2, '0') + Convert.ToString(b, 16).PadLeft(2, '0'); }
        }
        private byte b;
        public byte B
        {
            get { return b; }
            set { b = value; Hexstring = "#" + Convert.ToString(a, 16).PadLeft(2, '0') + Convert.ToString(r, 16).PadLeft(2, '0') + Convert.ToString(g, 16).PadLeft(2, '0') + Convert.ToString(b, 16).PadLeft(2, '0'); }
        }
        private byte g;
        public byte G
        {
            get { return g; }
            set { g = value; Hexstring = "#" + Convert.ToString(a, 16).PadLeft(2, '0') + Convert.ToString(r, 16).PadLeft(2, '0') + Convert.ToString(g, 16).PadLeft(2, '0') + Convert.ToString(b, 16).PadLeft(2, '0'); }
        }
    }
}
Abgelegt unter Argb, Farben.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!