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]

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

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

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!