在Android本机活动中绘制文本

在Android本机活动中绘制文本,android,opengl-es,android-ndk,native-activity,Android,Opengl Es,Android Ndk,Native Activity,见鬼去吧 我做了一些本地活动,我想画一些文字。最简单的方法是什么?我可以使用openGL来实现这一点吗?如果可以,如何实现 感谢您的帮助。最简单的方法是使用文本创建纹理,并在场景上渲染(或不渲染)。 @Override protected void onDraw(Canvas canvas) { canvas.drawColor(0xffffffff); Paint p = new Paint(); p.setColor(Color.BLA

见鬼去吧

我做了一些本地活动,我想画一些文字。最简单的方法是什么?我可以使用openGL来实现这一点吗?如果可以,如何实现


感谢您的帮助。

最简单的方法是使用文本创建纹理,并在场景上渲染(或不渲染)。
    @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:。

我想使用本机活动,但在那里我不能使用java。在java代码中,我使用TextView。