0

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」を閉じることができるため、パスが閉じていることをどのように知ることができますか。ただし、開いている場合は何もしません。

どうもありがとう

4

0 に答える 0