dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: VB7
Expertise: Intermediate
Nov 18, 2002

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


DrawRotateImage - rotating an image by a specified angle

' 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
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date