Рисование текста на CameraPreview (Android) - PullRequest
1 голос
/ 08 февраля 2012

По сути, я могу нарисовать простой текст поверх CameraPreview, используя View:

    class DrawOnTop extends View {



    public DrawOnTop(Context context) {

            super(context);

            // TODO Auto-generated constructor stub

    }



    @Override

    protected void onDraw(Canvas canvas) {

            // TODO Auto-generated method stub



            Paint paint = new Paint();

            paint.setStyle(Paint.Style.FILL);

            paint.setColor(Color.BLACK);

            paint.setFakeBoldText(true);


            canvas.drawText("Test Text", 
                    30,
                    30, paint);

            super.onDraw(canvas);

    } 

}

Но мне бы хотелось иметь что-то вроде «тоста»,в нижней части предварительного просмотра камеры, а не простой текст, как это.Я могу дать вам пример того, что я имею в виду, просто взгляните на это изображение:

http://www.lemacinaie.it/amiata/wp-content/uploads/2011/07/realta_aumentata.jpg

Я бы хотел достичь того же, я пробовал открывать без успеха... кто-нибудь может помочь?спасибо.

РЕДАКТИРОВАТЬ: я могу связать camerapreview в GLSurfaceView, мне просто нужно знать, как нарисовать прямоугольник с текстом внутри, как тост, в OpenGLES.Спасибо

1 Ответ

0 голосов
/ 08 февраля 2012

Предварительный просмотр камеры происходит либо в SurfaceView, либо подается в закодированном виде на указанный вами обратный вызов.SurfaceViews не предназначены для компоновки с другими виджетами, поэтому ваш единственный вариант - самостоятельно декодировать предварительный просмотр и компоновать его вне экрана, прежде чем рисовать его в свой собственный экранный виджет (который может быть SurfaceView).

См. Это приложение 3D-Compass для примера того, как выполнять компоновку вне экрана, в этом случае графики OpenGL в сочетании с предварительным просмотром камеры.Вы должны быть в состоянии адаптировать исходный код к вашим потребностям.

...