Feedback

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

Veröffentlicht von am 27.11.2006
(1 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.
''' <summary>
''' Diese Funktion ändert die größe eines Bilds und gibt es als Bitmap zurück. Hier ist die neue Breite veränderbar
''' </summary>
''' <param name="SourceImage">Das Bild dessen größe verändert werden soll</param>
''' <param name="NewWidth">Die neue Breite des Bilds, das Größenverhältnis des Bilds wird eingehalten</param>
Public Function PicResizeByWidth(ByVal SourceImage As Image, ByVal NewWidth As Integer) As Bitmap
    Dim SizeFactor As Decimal = NewWidth / SourceImage.Width
    Dim NewHeigth As Integer = SizeFactor * SourceImage.Height
    Dim NewImage As New Bitmap(NewWidth, NewHeigth)
    Using G As Graphics = Graphics.FromImage(NewImage)
        G.InterpolationMode = InterpolationMode.HighQualityBicubic
        G.DrawImage(SourceImage, New Rectangle(0, 0, NewWidth, NewHeigth))
    End Using
    Return NewImage
End Function
Abgelegt unter Bild, Image, Picture.

1 Kommentare zum Snippet

Tim Hartwig schrieb am 28.11.2006:
Hier der Unterschied bei einer Verkleinerung:

<a href="http://home.arcor.de/khartak/dev/not_intercalated.png">Nicht interpoliert</a>
<a href="http://home.arcor.de/khartak/dev/intercalated.png">Interpoliert</a>
 

Logge dich ein, um hier zu kommentieren!