获取(Android.Graphics)字符串的路径

时间:2012-07-12 11:43:48

标签: android canvas fonts xamarin.android

我找不到任何方法来检索表示字符串的Path对象。它存在吗?必要点列表就足够了,但我想在内部使用了一条路径。

例如在GDI +中有:

GraphicsPath p = new GraphicsPath(); 
p.AddString("string");

从那里可以访问和修改“绘制的字符串”的任何一点。

PS:我不是指沿着路径画一段文字。

1 个答案:

答案 0 :(得分:4)

我花了很长时间解决这个问题(在OpenGL中绘制矢量化文本)并且不得不深入研究libSkia源代码。结果很简单:

实际上,canvas在内部使用路径,并使用SkPaint的getTextPath()方法将文本转换为矢量路径。幸运的是,在公共API中以Java android.graphics.Paint.getTextPath()暴露在Java端。之后,您可以使用android.graphics.PathMeasure读回Path。

不幸的是,您无法读取精确的绘图命令,但您可以使用二分法等非常接近的方式对曲线进行采样。