【发布时间】:2012-07-27 03:49:18
【问题描述】:
大家好,
我做了原生活动,我想画一些文字。最简单的方法是什么?我可以通过使用 openGL 来做到这一点吗?如果可以,该怎么做?
感谢您的帮助。
【问题讨论】:
标签: android opengl-es android-ndk native-activity
大家好,
我做了原生活动,我想画一些文字。最简单的方法是什么?我可以通过使用 openGL 来做到这一点吗?如果可以,该怎么做?
感谢您的帮助。
【问题讨论】:
标签: android opengl-es android-ndk native-activity
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(0xffffffff);
Paint p = new Paint();
p.setColor(Color.BLACK);
p.setTextSize(25);
int left = 100;
int top = 200;
// draws text beginning at pixel 100,200
canvas.drawText(" some text ", left, top, p);
【讨论】:
最简单的方法是使用文本创建纹理并将其渲染(或不渲染)场景。 您也可以创建自己的文本引擎,但更复杂。
【讨论】:
您将需要在 OpenGL 中编写自己的文本渲染器。如果您有一个有限的字符串列表,则可能更容易将它们全部预先准备在一个纹理中,并将它们渲染为每个单词的单个四边形,否则您可以拥有一个字符图集并且每个字符有一个四边形。或者,您可以利用库进行渲染,在运行时将文本绘制到缓冲区中,然后将其渲染到四边形。
如果这些都没有意义,我建议你去做一些基本的 OpenGL 教程。谷歌是你的朋友。一个功能非常丰富的字体库是 FreeType:http://freetype.sourceforge.net/index2.html。
【讨论】: