Android: disegna l'immagine sull'anteprima della fotocamera
-
12-12-2019 - |
Domanda
Voglio creare un'applicazione telecamera che disegna un'immagine sull'anteprima della fotocamera.Quando la fotocamera è in funzione, voglio aggiungere un file immagine (esempio: immagine.png) sull'anteprima della fotocamera. Ecco il codice che devo eseguire la fotocamera, ma non conosco il codice che aggiunge / disegna l'immagine.png
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
. Soluzione
Non è possibile sovrapporre gli elementi sulla fotocamera, a meno che l'anteprima della fotocamera non sia nella tua app stessa.L'utilizzo dell'intento non ti permetterà di farlo.
Una delle app di esempio dal mio libro, Pro Android Augmented Realtà, mostra come farlo.Puoi trovare il codice open source per quell'app qui.
In sostanza, è necessario utilizzare un Surfaceview per visualizzare i dati della fotocamera, quindi utilizzare un relivelizzayout o framelayout per disegnare le cose sopra di esso.