vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Bild Drehen 
Autor: GPM
Datum: 05.09.11 17:11

Hier werden die nötige neue Grösse eines gedrehten Bildes und der Winkel zur Kontrolle angezeigt:

Imports System.Drawing.Drawing2D
Public Class Form1
    Private WithEvents Pb As New PictureBox With {.Dock = DockStyle.Fill, _
      .Parent = Me}
    Private bm As New Bitmap(300, 300) ' als Bildersatz X
    Private angle As Int32 = 45
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Me.ClientSize = New Size(424, 424)
    End Sub
 
    Private Sub Form1_KeyDown(sender As Object, e As _
      System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Left AndAlso angle > 0 Then angle -= 1
        If e.KeyCode = Keys.Right AndAlso angle < 360 Then angle += 1
        Pb.Invalidate()
    End Sub
 
    Private Sub Pb_Paint(sender As Object, e As _
      System.Windows.Forms.PaintEventArgs) Handles Pb.Paint
        Dim r As New Rectangle(0, 0, bm.Width, bm.Height)
        Using m As New Matrix, gp As New GraphicsPath
            gp.AddRectangle(r)
            m.RotateAt(angle, New Point(r.Width >> 1, r.Height >> 1))
            gp.Transform(m)
            Using nbm = New Bitmap(CInt(gp.GetBounds.Width), CInt( _
              gp.GetBounds.Height)), g = Graphics.FromImage(nbm)
                g.SmoothingMode = SmoothingMode.AntiAlias
                g.Clear(Color.Black)
                m.Reset()
                m.RotateAt(angle, New Point(nbm.Width >> 1, nbm.Height >> 1))
                g.Transform = m
                g.FillRectangle(Brushes.Yellow, New Rectangle((nbm.Width - _
                  r.Width) >> 1, (nbm.Height - r.Height) >> 1, _
                  r.Width, r.Height)) 'X
                e.Graphics.DrawImage(nbm, 0, 0)
                Me.Text = nbm.Size.ToString & ", angle: " & angle.ToString
            End Using
        End Using
    End Sub
End Class
MfG GPM
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bild Drehen1.201NarutoXD03.09.11 19:12
Re: Bild Drehen847Christoph197204.09.11 10:11
Re: Bild Drehen763GPM05.09.11 17:11
Re: Bild Drehen706NarutoXD13.09.11 22:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel