我正在做一个使用网络摄像头的应用程序,我想在照片拍摄后显示一些文本,所以在方法ShutterCallBack中我写了以下内容
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");
}
};在终止我的application...How时失败了,我可以在表面上写文本吗?
发布于 2012-04-24 19:41:45
没有日志很难判断,但我猜lockCanvas()返回的是null。当曲面不可用时调用lockCanvas时会发生这种情况。检查surfaceCreated和surfaceDestroyed。另一个可能与代码无关的问题是与drawText()一起使用的坐标。(0,0)表示文本绘制在可见区域之外。
https://stackoverflow.com/questions/10296271
复制相似问题