Browse DevX
Sign up for e-mail newsletters from DevX

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



Building the Right Environment to Support AI, Machine Learning and Deep Learning

DrawFlipImage - flipping an image on one or both axes

' Flip an image on one or both axes. 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")
'   DrawFlipImage(gr, bmp, 100, 20, False, False)
'   DrawFlipImage(gr, bmp, 300, 20, True, False)
'   DrawFlipImage(gr, bmp, 100, 120, False, True)
'   DrawFlipImage(gr, bmp, 300, 120, True, True)
'   bmp.Dispose()
'   gr.Dispose()

Sub DrawFlipImage(ByVal gr As Graphics, ByVal bmp As Bitmap, ByVal x As Single, _
    ByVal y As Single, ByVal flipX As Boolean, ByVal flipY As Boolean)
    ' Start with values of parallelogram's vertex as if no flipping occurs.
    Dim x0 As Single = x
    Dim y0 As Single = y
    Dim x1 As Single = x + bmp.Width
    Dim y1 As Single = y
    Dim x2 As Single = x
    Dim y2 As Single = y + bmp.Height

    ' Account for horizontal flipping.
    If flipX Then
        x0 = x + bmp.Width
        x1 = x
        x2 = x0
    End If
    ' Account for vertical flipping.
    If flipY Then
        y0 = y + bmp.Height
        y1 = y0
        y2 = y
    End If
    ' Create the points array.
    Dim points() As Point = {New Point(x0, y0), New Point(x1, y1), New Point(x2, _
    ' Draw the flipped 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.



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