在Android原生活动中绘制文本

时间:2012-07-28 22:34:26

标签: android opengl-es android-ndk native-activity

全都地狱,

我做了原生活动,我想画一些文字。最简单的方法是什么?我可以通过使用openGL来做到这一点,如果是的话怎么做?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用文本创建纹理并将其渲染(或不渲染)场景。 您也可以创建自己的文本引擎,但它更复杂。

答案 1 :(得分:0)

您需要在OpenGL中编写自己的文本渲染器。如果你有一个有限的字符串列表,可能更容易在一个纹理中预先准备它们,并将它们渲染为每个单词的单个四边形,否则你可能有一个字符图集并且每个字符有一个四边形。或者,您可以利用库进行渲染,以便在运行时将文本绘制到缓冲区中,然后将其渲染为四元组。

如果这些都没有意义,我建议你去做一些基本的OpenGL教程。谷歌是你的朋友。功能丰富的字体库是FreeType:http://freetype.sourceforge.net/index2.html

答案 2 :(得分:-1)

    @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);