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”的路径点时。然后再次绘制文本

使用 Graphic.drawLine 方法,每条线由 pathpoints 数组中的两个点组成。

这是我得到的结果。http://ppt.cc/IwedS

最后的“你好”与线条结合在一起。我有两个问题:

1.在'H'的最后一点,我得到点类型值161。该值未显示在msdn文档中。我在终点也得到 131、163。他们的意思是什么?

2.我怎么知道路径是封闭的,因为我可以通过终点线和第一线来封闭'H'。但如果它是开放的,什么也不做。

非常感谢

4

0 回答 0