Tengo un problema. Cuando trato de obtener una imagen de la cámara, la calidad es muy baja. Primero, capture la imagen con la cámara, luego guárdela en el directorio y al mismo tiempo, obtenga esa imagen y la muestre en mi aplicación. La imagen guardada en el directorio es de buena calidad, pero cuando la obtengo del directorio, la calidad es baja. . a continuación es mi código de ejemplo:Baja calidad de imagen/imagen al capturar desde la cámara
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == CAMERA_PIC_REQUEST) {
Bitmap thumbnail = (Bitmap) intent.getExtras().get("data");
if (g==1)
{
ImageView myImage = (ImageView) findViewById(R.id.img5);
myImage.setImageBitmap(thumbnail);
View a = findViewById(R.id.img5);
a.setVisibility(View.VISIBLE);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byteArray1 = stream.toByteArray();
}
}
cualquier solución/sugerencia? Gracias :)
Resuelto
El problema resuelto cuando sigo el código dado por Antrromet continuación
No veo que obtenga la foto del directorio en cualquier lugar? Todo lo que veo es que usa la miniatura incluida, que, dicho sea de paso, es propensa a errores, ya que según mi experiencia, no todos los dispositivos realmente devuelven ningún "dato" extra. La miniatura, obviamente, no tendrá el mismo tamaño que la imagen "completa" en su medio de almacenamiento. –
realmente llamo a la cámara usando esto: Intent cameraIntent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE); \t \t \t \t \t \t startActivityForResult (cameraIntent, CAMERA_PIC_REQUEST); ¿cuál es su sugerencia para evitar el error? Y ¿cómo obtener el tamaño real de la imagen? Gracias por su respuesta :) – ckng
El mejor enfoque es, probablemente, [proporcionar la ruta de salida] (http://stackoverflow.com/a/7529603/1029225) con la intención de 'Camera'. Alternativamente, también podría implementar [su propia lógica de captura de fotos] (http://stackoverflow.com/a/4855261/1029225) (más trabajo), o posiblemente use un ['FileObserver'] (http://developer.android. com/reference/android/os/FileObserver.html) en el directorio DCIM/Camera. –