I can place the overlay on top of the live camcorder, but I also need to save the image captured by the camera with this overlay.
Here is the code for my MainActivity.class file:
public class MainActivity extends Activity { private Button takePhoto, pickPhoto; private FrameLayout preview; private CameraSurfaceView cameraSurfaceView; private static final int SELECT_PICTURE_ACTIVITY_RESULT_CODE = 1; private static final int CAMERA_PIC_REQUEST = 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); takePhoto = (Button) findViewById(R.id.btn_takephoto); pickPhoto = (Button) findViewById(R.id.btn_pickPhoto); preview = (FrameLayout) findViewById(R.id.frameLayout1); takePhoto.setOnClickListener(clickListener); pickPhoto.setOnClickListener(clickListener); cameraSurfaceView = new CameraSurfaceView(MainActivity.this); preview.addView(cameraSurfaceView); } View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { if (v.equals(takePhoto)) { Camera camera = cameraSurfaceView.getCamera(); camera.takePicture(null, null, new HandlePictureStorage()); } else if (v.equals(pickPhoto)) { Intent photoPickerIntent = new Intent(); photoPickerIntent.setType("image/*");
And the code of CameraSurfaceView.java:
public class CameraSurfaceView extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder holder; private Camera camera; public CameraSurfaceView(Context context) { super(context);
source share