Rubrik: Grafik und Font · Grafische Effekte | VB-Versionen: VB2005, VB2008 | 03.03.09 |
Einfaches Rotieren/Kippen eines Bildes Es wird eine einfache Funktion zum Rotieren oder Kippen eines Bildes auf der Grundlage der RotateFlipType-Enumeration vorgestellt | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 10.355 |
ohne Homepage | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Durch Zufall fand ich den Begriff 'RotateFlipType-Enumeration' und habe mir dazu, um sie anzuwenden, eine kleine Funktion 'geschneidert'. Die Funktion kann man recht simple für das Rotieren und/oder Kippen eines Bildes einsetzen. Doch zunächst mal die Enumeration selbst und was sie bewirkt:
- Rotate180FlipXY
- RotateNoneFlipNone
- Rotate90FlipNone
- Rotate270FlipXY
- Rotate180FlipNone
- RotateNoneFlipXY
- Rotate270FlipNone
- Rotate90FlipXY
- RotateNoneFlipX
- Rotate180FlipY
- Rotate90FlipX
- Rotate270FlipY
- Rotate180FlipX
- RotateNoneFlipY
- Rotate270FlipX
- Rotate90FlipY
Und hier die Funktion:
''' <summary> ''' Rotiert und/oder kippt ein Bild ''' </summary> ''' <param name="bmp">die Bitmap zum Bearbeiten</param> ''' <param name="rotFlipType">der RotateFlipType aus der Enum</param> Public Function RotateFlipImage(ByVal bmp As Bitmap, _ ByVal rotFlipType As RotateFlipType) As Bitmap bmp.RotateFlip(rotFlipType) Return bmp End Function
Und ein Aufrufbeispiel:
Dim picDisplay As New PictureBox Dim gBitmap As Bitmap ' füllen der neuen Bitmap aus einer Picturebox gBitmap = New Bitmap(PictureBox1.Image) ' picDisplay eine neue Picturebox zum Anzeigen der neuen Bitmap picDisplay.Image = RotateFlipImage(gBitmap, RotateFlipType.Rotate180FlipX) ' neue Picturebox der Form hinzufügen ' (Size und Location muss man noch festlegen) Me.Controls.Add(picDisplay)