' Display a text with 3D effect
'
' g: a Graphics object
' text: the text to be displayed
' coords: the Point with the X and Y coordinates
' col: the text color
' fnt: the text font
' shadowCol: the shadow color (default is black)
' shadowOffsetX, shadowOffsetY: the shadow distance of shadow in pixels
' (default is 1 pixel) - can be negative to give different effect
'
' Example:
' Private Sub Form1_Paint(ByVal sender As Object,
' ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
' Print3D(e.Graphics, "this is a test", New Point(10, 10), Color.Red,
' Me.Font)
' End Sub
Sub Print3D(ByVal g As Graphics, ByVal text As String, ByVal coords As Point, _
ByVal col As Color, ByVal fnt As Font)
Print3D(g, text, coords, col, fnt, Color.Black, 1, 1)
End Sub
Sub Print3D(ByVal g As Graphics, ByVal text As String, ByVal coords As Point, _
ByVal col As Color, ByVal fnt As Font, ByVal shadowCol As Color, _
ByVal shadowOffsetX As Integer, ByVal shadowOffsetY As Integer)
' create the brush for the shadow text
Dim sbrush As New SolidBrush(shadowCol)
' draw the shadow text
g.DrawString(text, fnt, sbrush, coords.Y + shadowOffsetX, _
coords.Y + shadowOffsetY)
sbrush.Dispose()
' create the brush for the foreground text
Dim fbrush As New SolidBrush(col)
' draw the foreground text
g.DrawString(text, fnt, fbrush, coords.X, coords.Y)
fbrush.Dispose()
End Sub