Bildergröße

Impressum

Verantwortlicher für die Seite und den Inhalt :

Gabriel Thiel

Trentinostraße 3 / 4 / 1

A - 2441 Mitterndorf an der Fischa

Österreich

Haftungsausschuss & Datenschutz

Impressum

Hier habe ich einen Code zur Bildverkleinerung geschrieben:

Folgende Vorbereitungen sind notwendig:

  1. Erstelle einen Ordner namens resize auf C:\
  2. Kopiere ein Bild (JPG) hinein, das breiter als 300px ist (jedes normale Foto)
  3. Benenne es auf photo.jpg um

 

Erstelle eine Form mit einem Button (Name = Text des Buttons):

 

 

Ersetze folgenden Code in Form1:

 

Imports System.IO

Public Class Form1

    ' Eine Öffentliche Funktion wird generiert

    Public Function ResizeImage(ByVal BildQuelle As String, ByVal BildZiel As String, ByVal Width As Integer) As Boolean

        ' Setze MeinBild als BildQuelle

        Dim MeinBild As Bitmap = New Bitmap(BildQuelle)

        ' Wenn die Breite größer als 300px (aus Button String)ist, wird in mehreren Schritten skaliert

        If MeinBild.Width > Width Then

            Dim Skala As Double = 100 - (Width / MeinBild.Width)
            Skala = Skala / 100

            ' Neue Breite & Höhe wird ausgerechnet

            Dim ZielBreite As Integer = MeinBild.Width - (MeinBild.Width * Skala)
            Dim ZielHohe As Integer = MeinBild.Height - (MeinBild.Height * Skala)
            ZielBreite = ZielBreite * 100
            ZielHohe = ZielHohe * 100

            'Die Grafik wird mit den generierten Abmessungen angepasst sowie die Qualität bestimmt

            Dim Vorschau As Bitmap = New Bitmap(ZielBreite, ZielHohe)
            Dim Grafik As Graphics = Graphics.FromImage(Vorschau)

            Grafik.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
            Grafik.DrawImage(MeinBild, New Rectangle(0, 0, ZielBreite, ZielHohe), New Rectangle(0, 0, MeinBild.Width, MeinBild.Height), GraphicsUnit.Pixel)
            Grafik.Dispose()
            MeinBild.Dispose()

            'Die Grafik wird unter dem im Button angegebenen Verzeichnis (+Namen) wieder gespeichert

            Vorschau.Save(BildZiel, Imaging.ImageFormat.Jpeg)

        Else

            File.Copy(BildQuelle, BildZiel)

        End If

        ' Die Werte können außerhalb der Funktion weiterverwendet werden

        Return (True)

    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        ' Hier wird die o.a. Funktion angesprochen

        ResizeImage("C:\resize\photo.jpg", "C:\resize\photo_resize.jpg", 300)

    End Sub
End Class

 

Starte mit F5 das Debugging sowie mit Button1  das Verkleinern.

 

 

Hat alles geklappt findest du auf deiner Windows-Arbeitsstation unter C:\resize\photo_resize.jpg das verkleinerte Bild mit einer Breite von 300px

Viel Erfolg beim Nachbauen und Weiterverwenden !

 

Quelle: Srccode's Blog - My knowledge Base