Estoy creando una aplicación de Android que utiliza imágenes capturadas por el usuario como parte de un proceso más amplio. Hasta ahora, mi diseño XML tiene un SurfaceView y un botón dentro de RelativeLayout. Logré que la vista previa de la cámara se muestre en SurfaceView, pero me quedo atascado sobre cómo tomar una foto y guardarla cuando un usuario presiona el botón.Tome y guarde la imagen en el botón presione
Mi archivo de clase se ve algo como la demo API CameraPreview: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html
Idealmente, cuando el botón se pulsa la cámara debe enfocar automáticamente, tomar una foto (con el sonido clicky), guardarlo en /data/data/app_package_structure/files/file_name.jpg
, a continuación, el pop un Toast para decirle al usuario que su imagen se ha guardado.
Cualquier ayuda es muy apreciada :)
Esto es una ayuda excelente. Mi enfoque automático está funcionando bien ahora. Acabo de superar un obstáculo, salvando la imagen. ¿Qué devuelve takePicture(), qué hago con él en PhotoCallback y cómo guardo ese resultado como una imagen? – greenie
Bueno, mi opinión es que 'takePicture' devuelve nada, en lugar de la imagen se pasa como un formato JPEG de matriz de bytes a través de su photoCallback' onPictureTaken (byte de datos [], la cámara de la cámara) 'método de devolución de llamada. Probablemente solo tenga que escribir esos bytes directamente en el archivo. –
Al menos esa fue mi impresión de http://developer.android.com/reference/android/hardware/Camera.PictureCallback.html y http://developer.android.com/reference/android/hardware/Camera.html# takePicture% 28android.hardware.Camera.ShutterCallback, 20android.hardware.Camera.PictureCallback%,% 20android.hardware.Camera.PictureCallback% 29 –