我正在使用C#类GraphicsPath将文本更改为vector。
这是代码
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方法,每行由路径点数组中的两个点组成。
这是我得到的结果。 http://ppt.cc/IwedS
最后的“Hello”与行组合在一起。我有两个问题:
1.在'H'的最后一点,我得到点类型值161.该值未在msdn文档中显示。我的终点也得到131,163。他们是什么意思?
2.我怎么知道路径是关闭的,因为我可以通过终点和第一行关闭'H'。但如果它是开放的,就什么都不做。
非常感谢