Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取字符串的(Android.Graphics)路径_Android_Canvas_Fonts_Xamarin.android - Fatal编程技术网

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

获取字符串的(Android.Graphics)路径,android,canvas,fonts,xamarin.android,Android,Canvas,Fonts,Xamarin.android,我找不到任何方法来检索表示字符串的路径对象。它存在吗?列出必要的点就足够了,但我想,在内部,使用了路径 例如,在GDI+中有: GraphicsPath p = new GraphicsPath(); p.AddString("string"); 从这里可以访问和修改“绘制字符串”的任何点 PS:我不是指沿着路径绘制文本。我花了相当长的时间解决这个问题(在OpenGL中绘制矢量化文本),并且必须深入挖掘libSkia源代码。结果很简单: 实际上,canvas在内部使用路径,并使用SkPain

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

例如,在GDI+中有:

GraphicsPath p = new GraphicsPath(); 
p.AddString("string");
从这里可以访问和修改“绘制字符串”的任何点


PS:我不是指沿着路径绘制文本。

我花了相当长的时间解决这个问题(在OpenGL中绘制矢量化文本),并且必须深入挖掘libSkia源代码。结果很简单:

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


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

你的意思是说例如
R.string.myString
?不,不,我在画布上画画。与Canvas.DrawPath()类似。我想得到一个表示字母的path对象,它将被绘制成完全透明的,这就是我想要实现的:是的,像DrawTextOnPath。(但我想手动操作)。