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, _        y2)}    ' 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

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: