大家好,
我做了本地活动,我想画一些文字。最简单的方法是什么?我可以通过使用openGL来做到这一点吗?如果可以的话怎么做?
感谢帮助。
大家好,
我做了本地活动,我想画一些文字。最简单的方法是什么?我可以通过使用openGL来做到这一点吗?如果可以的话怎么做?
感谢帮助。
最简单的方法是使用文本创建纹理并将其渲染(或不渲染)场景。您也可以创建自己的文本引擎,但它更复杂。
您将需要在 OpenGL 中编写自己的文本渲染器。如果您有一个有限的字符串列表,则可能更容易将它们全部预先准备在一个纹理中,并将它们渲染为每个单词的单个四边形,否则您可以拥有一个字符图集并且每个字符有一个四边形。或者,您可以利用库来呈现在运行时将文本绘制到缓冲区中,然后将其呈现到四边形。
如果这些都没有意义,我建议你去做一些基本的 OpenGL 教程。谷歌是你的朋友。一个功能非常丰富的字体库是 FreeType: http: //freetype.sourceforge.net/index2.html。
@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);