Feedback

C# - "Zoom" für System.Drawing.Image

Veröffentlicht von am 12.05.2013
(1 Bewertungen)
Manchmal braucht man (oder zumindest ich) eine Funktion um Bilder - dem ImageLayout 'Zoom' entsprechend - zu vergrößern. Sprich so, dass die Seitenverhältnisse beibehalten werden.

Beispiel:
Man hat ein Label 'myLabel'.
Dort soll ein beliebig großes Bild (Image-Eigenschaft) drauf abgebildet werden:
myLabel.Image = new Bitmap("myImage.jpg").Zoom(myLabel.Size);
GFU-Schulungen  [Anzeige]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

public static class ExtensionMethods
{
    public static Bitmap Zoom(this Image img, Size max)
    {
        double factorHo = (double)max.Width / (double)img.Width;
        double factorVe = (double)max.Height / (double)img.Height;
        double factor = GetSmaller(factorHo, factorVe);
        return new Bitmap(img, new Size((int)(img.Width * factor), (int)(img.Height * factor)));
    }

    private static double GetSmaller(double n1, double n2)
    {
        if (n1 < n2)
            return n1;
        else
            return n2;
    }
}
Abgelegt unter Zoom, Image, Bild, skallieren.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!