10.4 Bilder darstellen
Zum Darstellen eines Bilds auf einer Zeichenfläche benötigen Sie die Klasse Image. Die statische Methode FromFile() dieser Klasse lädt ein Bild aus einer Datei und stellt es zur Darstellung bereit. Die Bildeigenschaften stehen ebenfalls zur Verfügung. Die Zeichenmethode DrawImage() zeichnet das Bild schließlich auf die Zeichenfläche.
Im nachfolgenden Programm wird mithilfe des Standard-Dialogfelds OpenFileDialog eine Bilddatei ausgewählt. Diese wird geladen und das Bild wird dargestellt, siehe Abbildung 10.3.
Abbildung 10.3 Bild aus Datei »namibia.gif«
Der Programmcode für das Projekt ZeichnenBild lautet:
Public Class Form1
Private Sub cmdAuswahl_Click(...) Handles ...
Dim z As Graphics = CreateGraphics()
Dim df As New Font("Verdana", 11)
Dim pinsel As New SolidBrush(Color.Black)
Dim ofd As New OpenFileDialog
Dim bild As Image
z.Clear(BackColor)
ofd.InitialDirectory = "C:\Temp"
ofd.Title = "Bitte eine Bilddatei wählen"
ofd.Filter =
"Bild-Dateien (*.jpg; *.gif)|*.jpg; *.gif"
If ofd.ShowDialog() = DialogResult.OK Then
bild = Image.FromFile(ofd.FileName)
z.DrawImage(bild, 20, 40)
z.DrawString("Breite: " & bild.Width &
", Höhe: " & bild.Height,
df, pinsel, 20, 20)
Else
MessageBox.Show(
"Keine Bilddatei ausgewählt")
End If
End Sub
End Class
Listing 10.8 Projekt »ZeichnenBild«
Zur Erläuterung:
- Da es sich nur um eine einzelne Ereignismethode handelt, werden diesmal alle Variablen und Objekte nur lokal deklariert.
- Die Zeichenfläche wird wieder über die Variable z bereitgestellt.
- Die Schriftart und der Pinsel werden zur Ausgabe von Eigenschaften des geladenen Bildes benötigt.
- Mithilfe eines Standard-Dialogfelds werden die Bilddateien mit den Endungen .jpg und .gif im Ordner C:\Temp aufgelistet.
- Der Benutzer sucht eine Bilddatei in diesem oder einem anderen Verzeichnis aus. Der Name dieser Datei steht in der Eigenschaft FileName des Dialogfelds.
- Die statische Methode FromFile() der Klasse Image lädt das Bild und liefert einen Verweis, über den auf das Bild zugegriffen werden kann.
- Die Methode DrawImage() stellt das Bild dar. Eine der zahlreichen Überladungen dieser Methode benötigt die x- und y-Koordinate, an der sich die obere linke Ecke des Bilds befinden soll.
- Bricht der Benutzer die Bildauswahl ab, so wird dies in einer Meldung ausgegeben.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.