2

カメラを開き、キャプチャした画像を保存するためのパスを提供する簡単なアプリを作成しました。

コードは基本的に次のようになります。

File file = new File( Environment.getExternalStorage() + "myimages/",
"my_image.jpg" );

Uri outputUri = Uri.fromFile( file );

Intent intent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
Intent.putExtra( MediaStore.EXTRA_OUTPUT, outputUri );

これは私のドロイドで完璧に動作します。画像は一貫して 2592x1936 で保存されます。ただし、Milestone でテストすると、画像は 320x240 や 1280 x 1900 などのはるかに小さいサイズで保存されます。adb logcat を使用すると、写真が撮られるとすぐに画像サイズが設定されることがわかります。

この動作を引き起こすマイルストーンのデフォルト設定があるようです。

どんな助けでも大歓迎です。

ありがとう〜ジェレミー

4

1 に答える 1

1

すべての電話には、メーカーが独自に作成したカメラアプリがあります。すべてのカメラ アプリは、撮影した画像のサイズ変更や圧縮の量を決定します。より多くの電話でテストすると、さまざまな画像サイズと品質が得られることがわかるでしょう。インテントを使用している限り、ユーザーがそのインテントを処理するために選択したアクティビティ (いずれにせよ、既定のカメラ アプリとは常に異なる可能性があります) によって、それをどう処理するかが決定されます。

特定の画像サイズまたは品質を強制する場合は、独自のカメラ アクティビティを作成する必要があります。とにかく、電話が異なれば、さまざまな解像度で画像を取得するハードウェアも異なることに注意してください. 320x240 よりも良いサイズを取得できるはずですが、ハードウェアが異なるため、すべての電話で一貫したサイズを取得することはできません。

于 2011-12-13T19:27:49.463 に答える