Home
Search
 
What's New
Index
Books
Links
Q & A
Newsletter
Banners
 
Feedback
Tip Jar
 
C# Helper...
 
XML RSS Feed
Follow VBHelper on Twitter
 
 
MSDN Visual Basic Community
 
 
 
 
 
 
TitleDraw text filled with lines in VB .NET
Keywordsfilled text, outline text, text, region, SetClip, FillPath, DrawLine
CategoriesGraphics
 
In the form's Paint event handler, create a GraphicsPath object. Use its AddString method to add the string to it.

Call the Graphics object's FillPath method to fill the text path with blue. Then call the Graphics object's SetClip method to make the Graphics object clip its output to the GraphicsPath. Now anything you draw will be clipped to fit the region. Draw the lines through the text.

 
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As _
    System.Windows.Forms.PaintEventArgs) Handles _
    MyBase.Paint
    Dim text_path As GraphicsPath

    ' Create the text path.
    text_path = New System.Drawing.Drawing2D.GraphicsPath( _
        Drawing.Drawing2D.FillMode.Alternate)
    text_path.AddString("Flowers", _
        New FontFamily("Times New Roman"), _
        FontStyle.Bold, 200, _
        New Point(10, 10), _
        StringFormat.GenericDefault)

    ' Fill the path with blue.
    e.Graphics.FillPath(New SolidBrush(Color.Blue), _
        text_path)

    ' Use the path as the Graphics
    ' object's clipping region.
    e.Graphics.SetClip(text_path)

    ' Draw lines on the form.
    Dim dr As Single
    Dim r As Single
    Dim y As Integer
    dr = 255 / (Me.Height / 3)
    r = 0
    For y = 0 To Me.Height Step 3
        e.Graphics.DrawLine( _
            New Pen(Color.FromArgb(255, r, 0, 0), 2), _
            0, y, 1000, y)
        r += dr
    Next y
End Sub
 
Click here to compare this code to the version used for VB 6.
 
 
Copyright © 1997-2010 Rocky Mountain Computer Consulting, Inc.   All rights reserved.
  Updated