2012-04-30 5 views
12

Meine Videokamera-App zeichnet zwar im Querformat auf, aber die Frontkamera zeigt das normale Bild an, aber die aktuelle Aufnahme wird über die Achse gespiegelt (umgedreht oder invertiert).Wie kann man verhindern, dass Android das Bild von der Frontkamera invertiert?

Alles funktioniert gut auf normale Rückfahrkamera.

Kann mir jemand einen Weg vorschlagen, es zu vermeiden? Irgendwelche Vorschläge oder Quellcode würden viel helfen. Vielen Dank.

+0

Haben Sie http://stackoverflow.com/questions/9754346/prevent-flipping-of-the-android-front-facing-camera/17569915 gesehen # 17569915 Dies funktioniert für API> = 14. – Steve

Antwort

10

Die schlechten Nachrichten: Diese Spiegelung ist in den Kamera-Service fest codiert und kann nicht deaktiviert werden.

Die gute Nachricht: Wenn Sie auf einer aktuellen API (API-Ebene> = 14) sind, können Sie einfach eine TextureView verwenden, um das Vorschaubild wieder auf das Original zu spiegeln. Nehmen Sie die TextureView Example in der Android-Dokumentation und verwenden Sie dann setTransform, um eine Spiegelungstransformation festzulegen. Dadurch wird das Vorschaubild wieder auf das nicht gespiegelte Original zurückgesetzt.

Beachten Sie, dass eine Spiegel-Transformation dieselbe ist wie eine Skalierungs-Transformation mit einer -1-Skala auf der X-Achse.

Wenn Sie eine ältere API-Version verwenden, können Sie möglicherweise dasselbe mit einem SurfaceView durchführen (unter Verwendung von setScaleX, API-Ebene> = 11).

+0

keine Idee für Pre-11-API? – njzk2

+0

@ Paul-Jan können Sie mir einen Beispielcode mit setTransform geben, um die Vorschau – Aswathy

+2

'setScaleX (-1)' Ergebnisse in schwarz 'SurfaceView' (API 21) zu spiegeln. – TWiStErRob

Verwandte Themen