DOBON.NET DOBON.NETプログラミング掲示板過去ログ

変形文字のクリップについてお教えください

環境/言語:[XP VB.net Express]
分類:[.NET]

せん断変形などをした文字列のクリップが出来ません。
以下のコードでは通常文字のクリップになります。
Matrix・GraphicsPathなどの設定が悪いのでしょうか?
またRegionなどを使うのでしょうか?
これらの関連がよく理解できていませんのでお教えください

Dim matx As Matrix = New Matrix
'せん断変形 sx=1 sy=0
matx.Shear(sx, sy)
'path = GraphicsPath
path.Transform(matx)
'fmt = StringFormat
path.AddString(txt, fn.FontFamily, fn.Style, fntsize, pnt, fmt)
'grfx = Graphics
grfx.SetClip(path, CombineMode.Exclude)
■No31029に返信(katuさんの記事)

以下でクリップを確認しました。
======================================
'原点(x, y)・回転移動(angle)
'grfx=Graphics
grfx.TranslateTransform(x, y)
grfx.RotateTransform(angle)
'せん断matrix
Dim matx As Matrix = grfx.Transform
matx.Shear(sx, sy)
'せん断matrixをgrfxに
grfx.Transform = matx
pnt.X = 0
pnt.Y = 0
'path=GraphicsPath
path.AddString(txt, fn.FontFamily, fn.Style, fntsize, pnt, fmt)
grfx.SetClip(path, CombineMode.Exclude)

================================================

自己解決ですいません。

でもMatrix・GraphicsPath・Regionなど理解がよくできていないままですので
これらについて引き続きお教えください。

DOBON.NET | プログラミング道 | プログラミング掲示板