Feedback

C# - Einfacher Farbverlauf für Steuerelemente (Labels)

Veröffentlicht von am 12.05.2013
(1 Bewertungen)
Dieses Snippet erstellt einen "Farbverlauf" und setzt ihn als BackgroundImage für ein Label.

Das ganze ist eher unsauber (-> nicht gleichmäßig), funktioniert aber flott und reicht locker für kleine Labels etc.

myLabel.GradientBackground(Color.Blue, Color.DarkBlue, true);

erzeugt einen Vertikalen (von Oben nach unten) Farbverlauf. Oben col1, unten col2. Beim horizontalen ist links col1 und rechts col2!
GFU-Schulungen  [Anzeige]

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.

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

public static class ExtensionMethods
{
    public static void GradientBackground(this Control c, Color col1, Color col2, bool vertical)
    {
        Bitmap b;
        if (vertical)
        {
            b = new Bitmap(1, 2);
            b.SetPixel(0, 0, col1);
            b.SetPixel(0, 1, col2);
        }
        else
        {
            b = new Bitmap(2, 1);
            b.SetPixel(0, 0, col1);
            b.SetPixel(1, 0, col2);
        }
        c.BackgroundImageLayout = ImageLayout.Stretch;
        c.BackgroundImage = b;
    }
}
Abgelegt unter Hintergrund, Farbverlauf, Gradient.

2 Kommentare zum Snippet

Koopakiller schrieb am 12.05.2013:
Hallo, gucke dir mal folgende Klasse an:
http://msdn.microsoft.com/de-de/library/system.drawing.drawing2d.lineargradientbrush.aspx

Die bekommt die Farbverläufe bei großen Flächen auch sauber hin.
dariusarnold schrieb am 12.05.2013:
Aye, aye sir. ;D
Danke für den Hinweis.
 

Logge dich ein, um hier zu kommentieren!