【问题标题】:draw text in Android native activity在 Android 原生活动中绘制文本
【发布时间】:2012-07-27 03:49:18
【问题描述】:

大家好,

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

感谢您的帮助。

【问题讨论】:

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


    【解决方案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);
    

    【讨论】:

    • 我想使用本机活动,但我不能使用 java。在 java 代码中我使用 TextView。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-02
        相关资源
        最近更新 更多