Mam testowane nowe API Camera2 na Android Lollipop. Chcę sprowadzić obsługiwanego rozmiaru podgląduAndroid Camera2 Rozmiary wyjściowe
StreamConfigurationMap streamConfigurationMap = cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
Size[] sizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class);
i maksymalny rozmiar podglądu 1440x1080px na Samsung Galaxy Tab S, który ma rozdzielczość 2560x1600px. Moja wielkość podglądu wynosi 1440 x 1080 pikseli, a rozmiar powierzchni TextureView to 2560 x 1600 pikseli, więc obraz jest zniekształcony.
Przetestowałem stary interfejs API aparatu, który jest przestarzały.
Camera.Parameters parameters = camera.getParameters();
List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
i ponad 32 kombinacji kodu zwraca varius o wielkości podglądu, takich jak: 2560x1920
, 1920x1080
, 1080x1920
, 2560x2560
itd. W tym przypadku jestem w stanie wybrać optymalny rozmiar i wyświetli odpowiedni obraz.
Nie wiem, jak wymusić nowy interfejs API, aby uzyskać optymalny rozmiar. Wiem, że rozwiązaniem jest zmiana rozmiaru widoku w dół, który wyświetla podgląd, ale wbudowana aplikacja aparatu działa poprawnie w trybie pełnoekranowym. Z góry dziękujemy za wszelkie sugestie!
"Więc moja previewSize jest 1440x1080px i TextureView wielkość powierzchni jest 2560x1600px więc obraz jest zniekształcony" - to dlatego, że twoje proporcje nie są takie same. Musisz "TextureView" mieć taki sam współczynnik kształtu, jak obrazy z podglądu z kamery, na przykład używając ujemnych marginesów, aby rozmiar był większy niż twój ekran na jednej osi. – CommonsWare
Wiem o tym, ale dlaczego rozmiar podglądu jest tak mały? Na Samsung Galaxy S4 rozmiar podglądu wynosi 1920 x 1080 (taki sam jak rozdzielczość) i nie ma problemu z wyświetlaniem obrazu. – piotrek00
"Wiem o tym, ale dlaczego rozmiar podglądu jest tak mały?" - musiałbyś zapytać Samsunga, podejrzewam. – CommonsWare