你可以用自己的布局文件限定View的大小,把View放进去之后拍出来就只有那么大了 

解决方案 »

  1.   

    限制拍照区域surface的大小,或者直接对整个byte数组进行计算
      

  2.   

    不需要自己绘制,你解压下android.jar包,下面的res/drawable文件夹有几个矩形框
      

  3.   

    再顶一下,楼上讲的看不明白。哪位高手讲解下实现方法。我本来想在surfaceCreated()方法内用
    Canvas   canvas = mSurfaceHolder.lockCanvas();// 获取画布
    Paint mPaint = new Paint();
    mPaint.setColor(Color.BLUE);
    canvas.drawRect(new RectF(0, 0, 80, 80), mPaint);
    mSurfaceHolder.unlockCanvasAndPost(canvas);// 解锁画布,提交画好的图像
    来画这个矩形框,但提示错误
    12-28 03:18:46.099: ERROR/AndroidRuntime(746): FATAL EXCEPTION: main
    12-28 03:18:46.099: ERROR/AndroidRuntime(746): android.view.SurfaceHolder$BadSurfaceTypeException: Surface type is SURFACE_TYPE_PUSH_BUFFERS
      

  4.   

    再顶一下,楼上讲的我不明白。我原来在surfaceCreated()中用下面方法来实现
    Canvas canvas = mSurfaceHolder.lockCanvas();// 获取画布
    Paint mPaint = new Paint();
    mPaint.setColor(Color.BLUE);
    canvas.drawRect(new RectF(0, 0, 80, 80), mPaint);
    mSurfaceHolder.unlockCanvasAndPost(canvas);// 解锁画布,提交画好的图像
    不过提示错误:
    ERROR/AndroidRuntime(626): android.view.SurfaceHolder$BadSurfaceTypeException: Surface type is SURFACE_TYPE_PUSH_BUFFERS
    哪个高手介绍下怎么实现拍照时在屏幕中央画出(或显示出)矩形框,不甚感激!
      

  5.   

    http://blog.csdn.net/yanzi1225627/article/details/7934710 我实现的和您的类似 但还不能满足您的要求
      

  6.   

    终于找到了,完整实现可以看这位大牛的: http://blog.csdn.net/yanzi1225627/article/details/8580034