2012-07-13 14 views
21

Parece que el método setJpegQuality de Camera.Parameters se ignora, al menos en los dispositivos con los que lo he probado (Nexus S, Galaxy S2).Android Camera setJpegQuality ignorado

¿Funciona para cualquier otra persona, o es un problema conocido, o estoy haciendo algo mal, o ...?

Código para configurar los parámetros a continuación. jpeg quality 1 es muy distintivo, por lo que es muy fácil determinar visualmente si está funcionando ... ¡y no lo es! Otros parámetros establecidos aquí (por ejemplo, sepia) funcionan.

camera = Camera.open(); 
    final Camera.Parameters parameters = camera.getParameters(); 
    parameters.setJpegQuality(1); 
    parameters.setPictureFormat(ImageFormat.JPEG); 
    // Let's set a SEPIA effect, just to verify these parameters are working at all! 
    parameters.setColorEffect(Camera.Parameters.EFFECT_SEPIA); 
    // I've seen this syntax too on the internet, presumably it's legacy. 
    parameters.set("jpeg-quality", 1); 
    camera.setParameters(parameters); 
+1

más probable es que se trata de un dispositivo específico y yo sugeriría probar un HTC, pero en última instancia, muchas personas tienen un dispositivo Galaxy. –

+1

¿Cuál es el nivel de API que seleccionó cuando creó este nuevo proyecto? – CommonKnowledge

+1

@CommonKnowledge Estoy usando API Nivel 8. –

Respuesta

1

Conjunto todos los atributos de la imagen:

parameters.setPreviewSize(854, 480); // (h, w) 
    parameters.setPictureFormat(ImageFormat.JPEG); 
    parameters.set("jpeg-quality", 100); 
    parameters.set("orientation", "landscape"); 
    parameters.set("rotation", 90); 
    mCamera.setParameters(parameters); 
    mCamera.startPreview();