2013-11-26 15 views

回答

0

使用SurfaceView顯示您的視頻,請在此link例如;如何拍攝視頻,以及如何製作自定義SurfaceView以顯示網格的以下代碼。

class MySurface extends SurfaceView implements SurfaceHolder.Callback, 
     PreviewCallback { 

    public MySurface(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void draw(Canvas canvas) { 
     super.draw(canvas); 

     // TODO draw grid 
    } 

    @Override 
    public void onPreviewFrame(byte[] data, Camera camera) { 
     // TODO handle camera frames 

    } 

    @Override 
    public void surfaceCreated(SurfaceHolder holder) { 

     initCamera(); 
    } 

    @Override 
    public void surfaceChanged(SurfaceHolder holder, int format, int width, 
      int height) { 

     mCamera.startPreview(); 
    } 

    @Override 
    public void surfaceDestroyed(SurfaceHolder holder) { 

     releaseCamera(); 
    } 
} 
1

可以覆蓋的OnDraw方法,並使用這個..

 Paint redPaint = new Paint(); 
      redPaint.setColor(Color.WHITE); 
      redPaint.setStyle(Paint.Style.STROKE); 
     canvas.drawLine((canvas.getWidth()/2)-size-20, (canvas.getHeight()/2)-size-20, (canvas.getWidth()/2)-size-20, (canvas.getHeight()/2)+size+20, redPaint); 
     canvas.drawLine((canvas.getWidth()/2)+size+20, (canvas.getHeight()/2)-size-20, (canvas.getWidth()/2)-size-20, (canvas.getHeight()/2)-size-20, redPaint); 
     canvas.drawLine((canvas.getWidth()/2)-size-20, (canvas.getHeight()/2)+size+20, (canvas.getWidth()/2)+size+20, (canvas.getHeight()/2)+size+20, redPaint); 
     canvas.drawLine((canvas.getWidth()/2)+size+20, (canvas.getHeight()/2)+size+20, (canvas.getWidth()/2)+size+20, (canvas.getHeight()/2)-size-20, redPaint); 
     canvas.drawLine((canvas.getWidth()/2)-(size/60), (canvas.getHeight()/2)-size-20, (canvas.getWidth()/2)+(size/60), (canvas.getHeight()/2)+size+20, redPaint); 
     canvas.drawLine((canvas.getWidth()/2)+size+20, (canvas.getHeight()/2)-(size/60), (canvas.getWidth()/2)-size-20, (canvas.getHeight()/2)-(size/60), redPaint); 
+0

應該是什麼樣的規模? –