' Rotate an image by a specified angle (in degrees)' The x and y parameters are the coordinates of the upper-left point' Note: requires Imports System.Drawing.Imaging'' Example:' Dim gr As Graphics = Me.CreateGraphics' gr.Clear(Color.White)' Dim bmp As New Bitmap("logo.bmp")' DrawRotateImage(gr, bmp, 100, 220, 45)' DrawRotateImage(gr, bmp, 300, 220, 90)' DrawRotateImage(gr, bmp, 500, 220, 135)' bmp.Dispose()' gr.Dispose()Sub DrawRotateImage(ByVal gr As Graphics, ByVal bmp As Bitmap, _ ByVal x As Single, ByVal y As Single, ByVal angle As Single) ' Convert the angle in degrees. angle = angle / (180 / Math.PI) ' Find the position of (x1,y1) and (x2,y2). Dim x1 As Single = x + bmp.Width * Math.Cos(angle) Dim y1 As Single = y + bmp.Width * Math.Sin(angle) Dim x2 As Single = x - bmp.Height * Math.Sin(angle) Dim y2 As Single = y + bmp.Height * Math.Cos(angle) ' Create the points array. Dim points() As Point = {New Point(x, y), New Point(x1, y1), New Point(x2, _ y2)} ' Draw the rotated image gr.DrawImage(bmp, points)End Sub' Note: This code is taken from Francesco Balena's' "Programming Microsoft Visual Basic .NET" - MS Press 2002, ISBN 0735613753' You can read a free chapter of the book at ' http://www.vb2themax.com/HtmlDoc.asp?Table=Books&ID=101000
![Outage Reddit](https://www.devx.com/wp-content/uploads/Outage-Reddit-300x171.jpg)