0
我想在GLSurfaceView相機預覽中繪製正方形並繪製文本。使用OpenGL在android上繪製文本
首先我試着畫正方形
上onDrawFrameprivate void drawSquare() {
GLES20.glEnable(GLES20.GL_SCISSOR_TEST);
GLES20.glScissor(20, 300, 500, 50);
GLES20.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
}
這個方法調用(); 並在相機預覽glsurfaceview上顯示正方形。
,我嘗試繪製文本
public void GLText(GL10 gl) {
Bitmap bitmap = Bitmap.createBitmap(64, 64, Bitmap.Config.ARGB_4444);
Canvas canvas = new Canvas(bitmap);
bitmap.eraseColor(0);
Paint paint = new Paint();
paint.setTextSize(18);
paint.setAntiAlias(true);
paint.setARGB(0xff, 0xff, 0xff, 0xff);
paint.setTextAlign(Paint.Align.LEFT);
paint.setTextScaleX(0.5f);
canvas.drawText("testGLText", 0.f, 15.f, paint);
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();
}
和顯示文本。但研究背景顏色爲綠色
爲什麼背景色綠? 請幫我。
謝謝。
你的來源是平方。廣場不是綠色的背景。只有文字畫。 – chohyunwook
@chohyunwook你不知道如何畫一個正方形。上面的代碼從不畫方形。 gldraw ****()只能繪製一個正方形,這就是爲什麼我提到「我沒有看到實際繪圖代碼」 – Sung
@chohyunwook答案已更新。現在看來你從不使用OpenGL。您只需使用畫布繪製文本和相機預覽即可繪製每個相機框。兩者都可以用OpenGL完成。但是,如果不需要,則不必使用OpenGL。 – Sung