2012-07-12 91 views
1

我找不到任何方法来检索表示字符串的Path对象。它存在吗?必要的点的清单就足够了,但我想在内部使用一个路径。获取(Android.Graphics)字符串的路径

例如在GDI +有:

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

从那里“绘制字符串”的任何点都可以进行访问和修改。 PS:我不是指沿着路径绘制文本。

+1

你是指例如..'R.string.myString'? – DroidBender 2012-07-12 11:47:31

+0

你确切的问题是什么? – sunil 2012-07-12 12:08:45

+0

不,不,不。我正在绘制一个画布。就像Canvas.DrawPath()一样。我想要一个代表将要绘制的字母的路径对象 – 2012-07-12 12:09:29

回答

2

我花了相当长的时间来解决这个问题(在OpenGL中绘制矢量化文本),并且不得不深入到libSkia源代码中。事实证明,这非常简单:

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

不幸的是,您无法阅读确切的绘图命令,但您可以使用类似二分法的方式对曲线进行非常仔细的采样。

+0

谢谢,目前正在研究thia – Derekyy 2017-09-19 11:20:20