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]

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.

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.

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!