2012-04-24 67 views
0

文字我在做一个应用程序女巫使用网络摄像头,我想显示一些文本拍摄照片后这样的方法ShutterCallBack我写这篇借鉴SurfaceHolder

ShutterCallback shutterCallback = new ShutterCallback() { 
     public void onShutter() { 
      Log.d("DHA", "onShutter'd"); 
      Canvas cnv = mSurfaceHolder.lockCanvas(null); 
      Log.w("DHA", "Nana"); 
      Paint p = new Paint(); 
      Log.w("DHA", "Nana2"); 
      p.setColor(Color.RED); 
      Log.w("DHA", "Nana3"); 
      cnv.drawText("Hello", 0, 0, p); 
      Log.w("DHA", "Nana4"); 
      mSurfaceHolder.unlockCanvasAndPost(cnv); 
      Log.w("DHA", "Nana5"); 
     } 
    }; 

失败awfuly终止我的应用程序。 ..我可以在表面写文字吗?

回答

0

很难说没有日志,但我的猜测是,lockCanvas()返回null。当Surface不可用时调用lockCanvas时会发生这种情况。检查surfaceCreated和surfaceDestroyed。 另一个,但可能与您的代码无关的问题是您使用drawText()所使用的坐标。 (0,0)表示文本被绘制在可见区域之外。