Feedback

C# - Bildgröße im Verhältnis verändern (Interpoliert)

Veröffentlicht von am 09.02.2007
(2 Bewertungen)
Diese Funktion ändert die größe eines Bilds und gibt es als Bitmap zurück. Hier ist die neue Breite veränderbar. Bei der Angabe einer neuen Breite wird das Bild so verkleinert/vergrößert das das Verhältnis eingehalten wird.
Bei der Veränderung der Größe wird das Bild interpoliert so das die Qualität erhalten bleibt.

Dies ist eine Übersetzung des VB.NET Snippets von Khartak in C#.
Hier das Orginal: http://dotnet-snippets.de/dns/bildgroesse-im-verhaeltnis-veraendern-interpoliert-SID337.aspx
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Einführung

Das Seminar befähigt Sie zur eigenständigen Entwicklung von anwenderorientierten Programmen in VB.NET, worin auch der Einsatz von Datenbanken enthalten ist.

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.

/// <summary>
/// Resizes the pic by width.
/// </summary>
/// <param name="sourceImage">The source image.</param>
/// <param name="newWidth">The new width.</param>
/// <returns></returns>
private static Bitmap ResizePicByWidth(Image sourceImage, double newWidth)
{
    double sizeFactor = newWidth/sourceImage.Width;
    double newHeigth = sizeFactor*sourceImage.Height;
    Bitmap newImage = new Bitmap((int) newWidth, (int) newHeigth);
    using (Graphics g = Graphics.FromImage(newImage))
    {
        g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        g.DrawImage(sourceImage, new Rectangle(0, 0, (int) newWidth, (int) newHeigth));
    }
    return newImage;
}
Abgelegt unter Bild, Image, Picture.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!