携帯電話のカメラを使用する Android アプリに取り組んでおり、カスタム コードを使用しています。
問題は、プレビューに表示されている画像が正しくないことです (画像の縦横比が正しくありません)。
次のコードを使用する場合:
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPreviewSizes();
Camera.Size selected = sizes.get(0);
params.setPreviewSize(selected.width,selected.height);
mCamera.setParameters(params);
mCamera.startPreview();
プレビュー画像はOKです(画像の上下の一部が表示されていないと思います)。
問題は、takePicture メソッドが呼び出された後に表示されるキャプチャされた画像が正しく表示されないことです (画像の縦横比が正しくなく、画像がビューに圧縮されているように見えます)。画像をファイルに保存すると、画像が表示されます。 OKであること。
どちらの場合も画像を正しく表示できるのだろうか。提案?