2017-04-24 3 views
0

ich beschlagend dieses Google-Projekt mit einem Beispiel Camera2 mit: https://github.com/googlesamples/android-Camera2BasicAndroid: reduziert Höhe von TextureView für Kameravorschau

Dieses Beispiel funktioniert perfekt. Jetzt möchte ich die Flächenvorschau kleiner als in diesem Beispiel haben; so änderte ich das Verhältnis wie folgt aus:

mTextureView.setAspectRatio(getScreenWidth(), getScreenHeight() - bottom_area_height); 

aber das Ergebnis ist schlecht ... die Vorschau nicht ein gutes Verhältnis jetzt hat (auch horizontal gestreckt): enter image description here

Haben Sie eine bekam Idee Jungs?

Vielen Dank!

+0

Können Sie das Äquivalent von Zeile 740 aus dem von Ihnen erwähnten Beispiel debuggen? https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java –

Antwort

0

Sie haben bekommen, was Sie gefragt haben, das ist ein anderes Seitenverhältnis. Leider gibt es nur ein Seitenverhältnis, das korrekt ist, da es mit den Vorschaupuffern der Kamera übereinstimmen muss.

Wenn Sie eine kleinere Vorschau wünschen, müssen Sie sie in beide Richtungen verkleinern, um das korrekte Seitenverhältnis beizubehalten. Wenn Sie also das Layout so anpassen, dass es einen schmaleren Platz hat und das Seitenverhältnis gleich bleibt, sollte auch die Höhe sinken. Oder reduzieren Sie die Höhe des umgebenden Rahmens; auf jeden Fall muss das Seitenverhältnis so bleiben, wie es ist, keine Dehnung zu haben.

AutoFitTextureView wurde nicht zum Zuschneiden der Vorschau entworfen. Dies ist die andere Option zum Vermeiden von Dehnung. Das könnte man machen, indem man sich mit der TextureView-Transformation herumschlägt, aber das bedeutet, dass man etwas von der Ansicht abschneidet.

Verwandte Themen