2017-02-08 2 views
1

Ich bereite eine benutzerdefinierte Android-Kamera-App und möchte die Belichtung/Helligkeit der Kamera auf Touch-Event anpassen. Die Standardwerte sehen etwas dunkler aus als die Standardkamera. Ich habe versucht, mit der WhiteBalance (Auto) -Funktion, aber es wird nicht helfen. Versuchte es unter Verwendung der Belichtung wieAnpassen der Helligkeit in Android Kamera API wie Standard-Kamera auf den Kamerabildschirm berühren

params.setExposureCompensation (params.getExposureCompensation());

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
       if(params.isAutoExposureLockSupported()) { 
        params.setAutoExposureLock(false); 
       } 
      } 

aber ich verstehe nicht den Unterschied zwischen dem, wie die Belichtungsfunktion,

getExposureCompensation(), getMaxExposureCompensation(), getExposureCompensationStep()

Antwort

1

Erstens, Sie stellen nicht wirklich die Belichtung.

params.setExposureCompensation(params.getExposureCompensation());

stellt die Belichtung auf den vorherigen Wert d.h es nie geändert wird. Was Sie brauchen einen Wert zwischen params.getMinExposureCompensation() und params. getMaxExposureCompensation()

Zweitens ist der Unterschied zwischen den Belichtungsfunktionen ist im docs

getExposureCompensation

Ruft die aktuelle Belichtungskorrektur Index deutlich erklärt wird zu tun. aktueller Belichtungskorrekturindex. Der Bereich ist getMinExposureCompensation() to getMaxExposureCompensation(). 0 bedeutet, dass die Belichtung nicht angepasst wurde.

getMaxExposureCompensation

Ruft die maximale Belichtungskompensationsindex. (> = 0)

getExposureCompensationStep

Belichtungskorrekturschritt. Anwendungen können EV erhalten, indem sie den Belichtungskorrekturindex und -schritt multiplizieren. Bsp .: Wenn der Belichtungskorrekturindex -6 ist und der Schritt 0,3333333333 ist, ist EV gleich -2.

Hier EV steht für Belichtungswert

Verwandte Themen