我正在使用 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'。但如果它是开放的,什么也不做。
非常感谢