vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Grafik und Font · Grafische Effekte   |   VB-Versionen: VB2005, VB2008, VB201014.09.11
Bitmap um beliebigen Winkel drehen

Mit dieser Funktion lässt sich ein Bild (Bitmap) um einen beliebigen Winkel drehen.

Autor:   Dieter OtterBewertung:  Views:  16.663 
www.tools4vb.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Für das Drehen eines Bildes stellt uns die Bitmap-Klasse die RotateFlip-Methode bereit.
Der Nachteil an dieser Methode: Das Bild lässt sich nur in fest vorgegebenen Winkeln drehen (90°, 180° und 270°).

Daher möchten wir Ihnen nachfolgende Funktion vorstellen, mit der sich das Bild um einen beliebigen Winkel drehen lässt.

''' <summary>
''' Bild in beliebigem Winkel drehen
''' </summary>
''' <param name="bitmap">Original-Bild (Bitmap)</param>
''' <param name="angle">Winkel, um den das Bild gedreht werden soll</param>
''' <returns>Bitmap-Objekt</returns>
Public Function ImageRotate(ByVal bitmap As Bitmap, ByVal angle As Single) As Bitmap
  ' Bei 90!, 180° oder 270° verwenden wir die schnellere
  ' RotateFlip-Methode des Bitmap-Objekts
  Select Case angle
    Case 90
      bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone)
    Case 180
      bitmap.RotateFlip(RotateFlipType.Rotate180FlipNone)
    Case 270
      bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone)
 
    Case Else
      Dim dx As Single = CSng(bitmap.Width)
      Dim dy As Single = CSng(bitmap.Height)
 
      ' bei allen anderen Winkelangaben ...
      Using gr As Graphics = Graphics.FromImage(bitmap)
        gr.TranslateTransform(dx / 2, dy / 2)
        gr.RotateTransform(angle)
        gr.TranslateTransform(-dx / 2, -dy / 2)
        gr.DrawImage(bitmap, New Point(0, 0))
      End Using
  End Select
 
  Return bitmap
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.