我找不到任何方法来检索表示字符串的Path对象。它存在吗?必要点列表就足够了,但我想在内部使用了一条路径。
例如在GDI +中有:
GraphicsPath p = new GraphicsPath();
p.AddString("string");
从那里可以访问和修改“绘制的字符串”的任何一点。
PS:我不是指沿着路径画一段文字。
答案 0 :(得分:4)
我花了很长时间解决这个问题(在OpenGL中绘制矢量化文本)并且不得不深入研究libSkia源代码。结果很简单:
实际上,canvas在内部使用路径,并使用SkPaint的getTextPath()
方法将文本转换为矢量路径。幸运的是,在公共API中以Java android.graphics.Paint.getTextPath()
暴露在Java端。之后,您可以使用android.graphics.PathMeasure
读回Path。
不幸的是,您无法读取精确的绘图命令,但您可以使用二分法等非常接近的方式对曲线进行采样。