Use GraphicsPath to create Text outline : GraphicsPath « 2D Graphics « VB.Net Tutorial






Use GraphicsPath to create Text outline
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Globalization

Imports System.Drawing.Drawing2D

public class GraphicsMeasureStringRectangle
   public Shared Sub Main
        Application.Run(New OutlineFontsForm)
   End Sub
End class


Public Class OutlineFontsForm
    Inherits System.Windows.Forms.Form

    Public Sub New()
        MyBase.New()

        InitializeComponent()
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    Private components As System.ComponentModel.IContainer

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.AutoScaleBaseSize = New System.Drawing.Size(46, 109)
        Me.ClientSize = New System.Drawing.Size(800, 266)
        Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 72.0!)

    End Sub


    Private Sub OutlineFontsForm_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        Dim g As Graphics = e.Graphics
        Dim s As String = "www.java2s.com"
        Dim rect As RectangleF = RectangleF.op_Implicit(Me.ClientRectangle)
        Dim font As Font = Me.Font
        Dim format As StringFormat = StringFormat.GenericTypographic
        Dim dpi As Single = g.DpiY


        Dim path As GraphicsPath = New GraphicsPath()
        Dim emSize As Single = dpi * font.SizeInPoints / 72
        path.AddString(s, font.FontFamily, CInt(font.Style), emSize, rect, format)

        g.DrawPath(Pens.Black, path)
    End Sub
End Class








17.41.GraphicsPath
17.41.1.Create a Graphics pathCreate a Graphics path
17.41.2.Getting GraphicsPath PropertiesGetting GraphicsPath Properties
17.41.3.Add Rectangle to GraphicsPathAdd Rectangle to GraphicsPath
17.41.4.Draw pathDraw path
17.41.5.Close a PathClose a Path
17.41.6.Use GraphicsPath to create Text outlineUse GraphicsPath to create Text outline
17.41.7.Add arcs to GraphicsPathAdd arcs to GraphicsPath
17.41.8.Add Beziers to GraphicsPathAdd Beziers to GraphicsPath
17.41.9.Add string to GraphicsPathAdd string to GraphicsPath
17.41.10.Add string and two ellipses to a GraphicsPathAdd string and two ellipses to a GraphicsPath
17.41.11.Flattened EllipseFlattened Ellipse
17.41.12.GraphicPath FillMode.AlternateGraphicPath FillMode.Alternate
17.41.13.GraphicPath FillMode.WindingGraphicPath FillMode.Winding
17.41.14.GraphicPath TextRegion