1
我想在Android設備上使用攝像頭時顯示網格。如果您之前使用過Instagram,可能會看到它。如下圖所示。如何在我的代碼中爲我的app實現它。請提供一些有用的鏈接,建議或教程相同。在android中使用Device Camera時顯示網格。
感謝提前:)
我想在Android設備上使用攝像頭時顯示網格。如果您之前使用過Instagram,可能會看到它。如下圖所示。如何在我的代碼中爲我的app實現它。請提供一些有用的鏈接,建議或教程相同。在android中使用Device Camera時顯示網格。
感謝提前:)
使用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();
}
}
可以覆蓋的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);
應該是什麼樣的規模? –