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 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

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!