saving - android take picture programmatically
data.getExtras(). get("data") resultado de una imagen de baja resoluciĆ³n en android (2)
Antes de transmitir intenciones, debe incluir extras:
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
donde imageFileUri podría ser el nombre del archivo de salida en la tarjeta SD:
imageFileUri=Uri.parse("file:///sdcard/picture.jpg");
Eso salvaría la imagen en una ubicación conocida y después de tomar la imagen, usted podría procesarla.
En mi aplicación tomo una foto de la cámara y luego obtengo esa imagen para hacer algunas operaciones de procesamiento de imágenes en la misma imagen pero cuando obtengo esta imagen con data.getExtras (). Get ("datos"), la imagen viene con baja resolución, no resolución tomada real. ¿Cuál puede ser la razón del problema?
El código es así;
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent , CAMERA_PIC_REQUEST);
}
protected void onActivityResult(int requestCode , int resultCode , Intent data )
{
if( requestCode != 0)
{
ImageView image = (ImageView)findViewById(R.id.imageView1);
thumbnail = (Bitmap)data.getExtras().get("data");
Mightier lo clavó. Sin incluir extras solo obtienes una imagen de pequeño tamaño. De la documentación de Android:
public static final String ACTION_IMAGE_CAPTURE Desde: API Level 3
Acción de intención estándar que se puede enviar para que la aplicación de la cámara capture una imagen y la devuelva.
La persona que llama puede pasar un EXTRA_OUTPUT adicional para controlar dónde se escribirá esta imagen. Si EXTRA_OUTPUT no está presente, se devuelve una imagen de tamaño pequeño como un objeto de mapa de bits en el campo adicional. Esto es útil para aplicaciones que solo necesitan una imagen pequeña. Si EXTRA_OUTPUT está presente, la imagen de tamaño completo se escribirá en el valor Uri de EXTRA_OUTPUT.