2012-07-13 6 views
21

Es scheint, dass die setJpegQuality-Methode von Camera.Parameters ignoriert wird, zumindest auf den Geräten, die ich es versucht habe (Nexus S, Galaxy S2).Android Kamera setJpegQuality ignoriert

Funktioniert es für jemand anderen, oder ist das ein bekanntes Problem, oder mache ich etwas falsch, oder ...?

Code zum Einstellen der Parameter unten. Jpeg Qualität 1 ist sehr markant, so dass es sehr einfach ist, visuell zu bestimmen, ob es funktioniert ... und es ist nicht! Andere hier eingestellte Parameter (z. B. Sepia) funktionieren.

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

Wahrscheinlich dieses Gerät spezifisch ist, und ich schlage vor, versuchen, ein HTC, aber letztlich haben viele Menschen ein Galaxy-Gerät. –

+1

Was ist die API-Ebene, die Sie beim Erstellen dieses neuen Projekts ausgewählt haben? – CommonKnowledge

+1

@CommonKnowledge Ich verwende API Level 8. –

Antwort

1

Set alle Attribute des Bildes:

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();