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