para mejor gratis fotos descargar celular camara app aplicaciones android camera android-camera android-version

android - gratis - mejor app de camara 2018



¿Los parámetros de la cámara de Android establecen JpegQuality en desuso? Aplicación de cámara personalizada (3)

Estoy construyendo una aplicación de cámara personalizada para Android. La API Camera.Parameters contiene métodos como setPreviewSize o setPictureSize , que funcionan bien.

Pero estoy tratando de usar el parámetro setJpegQuality (int) :

Camera cam = getCameraInstance(); if(cam == null){ setResult(INSTANCE_ERROR); finish(); } params = cam.getParameters(); params.setJpegQuality(jpegQuality); cam.setParameters(params);

Estoy probando mi aplicación en 3 dispositivos diferentes: un HTC Desire Z, un Galaxy S2 y un Galaxy S4.

setJpegQuality funciona en HTC (Android 2.2.1 ) y en Galaxy S2 ( 4.1.2 ), pero falla en el dispositivo Galaxy S4 ( 4.2.2 ).

Entonces mi pregunta: ¿esta función está obsoleta? ¿Hay alguna otra manera de establecer la calidad de la imagen? En la documentación del desarrollador no parece ser una función en desuso así que estoy un poco confundido ...

También intenté

params.set("jpeg-quality", jpegQuality);

Pero es la misma :(

Gracias por las respuestas.


Para S3 y S4, puede escribir código específico del dispositivo para reducir el tamaño del archivo.

Si busca en google, el equipo de desarrollo de Android también mencionó que todo depende de la implementación por parte del fabricante ( https://code.google.com/p/android/issues/detail?id=8091 ). La implementación de los parámetros y la función de la cámara depende totalmente del hardware utilizado, creo.

Había usado sensores de movimiento para una de mis aplicaciones. También, tuve que escribir el código específico del dispositivo, para obtener el comportamiento requerido en la aplicación.

Sé que no es lo que esperamos como desarrollador, pero creo que nosotros, los desarrolladores, podemos arreglar cualquier cosa. :)


Uso la biblioteca CWAC-Camera para mi cámara personalizada. Bifurqué el repositorio principal y agregué un parámetro jpegQuality a PictureTransaction :
https://github.com/cookbrite/cwac-camera/commit/65a0a2082194dfc8069f605f0191c43357bb0852

Esto asegura que la imagen resultante siempre se comprime a la calidad requerida.

Una desventaja de este enfoque es que tiene que cargar y comprimir el archivo de imagen de tamaño completo en el código de la aplicación, mientras que usa setJpegQuality en la Camera.Parameters Los Camera.Parameters pueden estar más optimizados.


Lo siento, no vi las respuestas finalmente :) ni siquiera uso estos parámetros que ya no funcionan

Encontré una solución para establecer la calidad de mi imagen, cuando la guardo como archivo:

FileOutputStream fos = new FileOutputStream(finalFilePath); bmp.compress(Bitmap.CompressFormat.JPEG, jpegQuality, fos);

Espero eso ayude