5

以下のコードを使用してカメラを開きます。プログラムでカメラの解像度を高く設定することは可能ですか?

private void openDefaultCameraApp() {
    Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
4

3 に答える 3

5

MediaStore.EXTRA_OUTPUTインテントにを追加する必要があります。さらに、保存先の画像のURIを指定する必要があります。これにより、フル解像度の画像が保存されます。それ以外の場合は、小さな画像がスナップされます。

Androidドキュメントを参照してください:ACTION_IMAGE_CAPTURE

カメラアプリケーションに画像をキャプチャして返すために送信できる標準のインテントアクション。呼び出し元はEXTRA_OUTPUT、このイメージが書き込まれる場所を制御するためにエクストラを渡すことができます。が存在しない場合はEXTRA_OUTPUT、小さいサイズの画像がビットマップオブジェクトとして追加フィールドに返されます。これは、小さな画像のみが必要なアプリケーションに役立ちます。が存在する場合EXTRA_OUTPUT、フルサイズの画像は次のURI値に書き込まれます。EXTRA_OUTPUT

于 2012-06-13T06:38:54.953 に答える
2

以下のリンクを参照してください。

ACTION_IMAGE_CAPTUREを使用してAndroidカメラを低解像度で開きます

カメラプレビュー画面から手動で解像度を設定する必要があります。

カメラの解像度が高く設定されていてもスナップが小さい場合は、ZedScioのアプローチを使用してください。

于 2012-06-13T06:48:00.947 に答える
1

この方法を使用して、サポートされているすべてのサイズの画像を取得できます。

public List<Camera.Size> getSupportedPictureSizes ()

Listサポートされている画像サイズを取得します。そして、これから、この方法を使用して、必要なサイズを設定できます。

public void setPictureSize (int width, int height)
于 2012-06-13T06:37:34.423 に答える