C# クラス GraphicsPath を使用して、テキストをベクターに変更しています。
ここにコードがあります
GraphicsPath path = new GraphicsPath();
FontFamily family = new FontFamily( "Arial" );
int fontStyle = (int)FontStyle.Regular;
int emSize = 100;
Point origin = new Point( 20, 20 );
StringFormat format = StringFormat.GenericDefault;
path.AddString( "Hello", family, fontStyle, emSize, origin, format );
PointF[] points = path.PathPoints;
byte[] types = path.PathTypes;
GraphicsPath インスタンスによって返される PathTypes を除いて、すべてがうまく機能します。
msdn が言うように、バイト値の各パス タイプは、このポイントのタイプを示します。
これらのタイプの値は 0、1、3、0x70、0x20、0x80 で、ポイントのタイプを示します。
上記のコードを使用して「hello」のパスポイントを取得すると。次に、テキストをもう一度描画します
各線が pathpoints 配列の 2 点から作成される Graphic.drawLine メソッドを使用します。
これが私が得た結果です。http://ppt.cc/IwedS
末尾の「こんにちは」は台詞を組み合わせています。2 つの質問があります。
1. 'H' の最後のポイントで、ポイント タイプ値 161 を取得します。値は msdn ドキュメントに表示されません。また、エンドポイントで 131、163 を取得します。彼らはどういう意味ですか?
2.終点と最初の行で「H」を閉じることができるため、パスが閉じていることをどのように知ることができますか。ただし、開いている場合は何もしません。
どうもありがとう