ホーム ] TIPS ウィンドウズ系 ] TIPS グラフィックス系 ] TIPS メルチメディア系 ] TIPS 理数系 ] TIPS 総覧 ]

上へ
G0001 色名一覧
G0002 アルファブレンド
G0003 カラーマップを作る
G0101 曲線の数値化
G0102 曲線長を測る
G0103 曲線の接線・法線
G0104 曲線のスムージング
G0201 図形の回転
G0202 領域の認識
G0301 文字の線形変換
G0302 文字の自由変形
G0303 文字の極座標変換
G0304 曲線に沿った文字列
G0305 飾文字-中抜き
G0306 飾文字-縁取り
G0307 飾文字-ドロップダウンシャドウ
G0501 画像の線形変換
G0502 画像の透明化
G0503 画像の任意形状切出し
G0504 画像の回転
G0505 画像の高速処理化

VB.NET2005 TIPS / グラフィックス系

G0306 飾文字-縁取り

最終更新:2006/11/12 再掲

●解説

 文字の外形周囲に均等に彩りを施す。


実例

●原理

 文字列をパス化し、パスをPenでなぞることで実現できる。縁の程度はPenの幅で調整できる。文字本体は文字として描画するより、パスを塗りつぶした方が縁とのズレが生じない。

●方法

 以下の手順で行う。

  1. 文字列をパス化する。

  2. パスを太めのPenでなぞる。これが縁となる。

  3. 文字自体はパスをFillする。

●実例

gはGraphicsとする。Xc, Ycは文字位置。dsは文字列。

Dim fmt As New StringFormat()
fmt.Alignment = StringAlignment.Center
fmt.LineAlignment = StringAlignment.Center
Dim pa As New GraphicsPath()
pa.Reset()
pa.AddString(ds, New FontFamily("MS Pゴシック"), CInt(FontStyle.Regular), f.GetHeight(g), New PointF(Xc, Yc), fmt)
pa.CloseFigure()
Dim wp As Pen = New Pen(Color.Red, 15)
g.DrawPath(wp, pa)
g.FillPath(Brushes.Gold, pa)

pa.Dispose()
wp.Dispose()