それでは、私が理解しているように、定義から始めましょう。
ScreenSize:物理ディスプレイの物理的なサイズ。これは、ユーザーにコンテンツを表示するためにデバイスで使用できるピクセルの最大サイズです。これはほとんど静的な値です。
PreviewSize:これは通常、光学センサーが高速でフレームをネイティブにプレビューできる画像のサイズです。センサーは通常、サポートされている値のリストを提供します。これらは通常、すべて同じアスペクト比です。サポートされているpreviewSizeは、ScreenSizeと重複する場合があります。もしそうなら、フルサイズのカメラビューを表示したいのであれば、素晴らしいです!それが何であれ、あなたが望むものです。それ以外の場合は、おそらく最も近い値であり、その後はあなた次第です。
PictureSize:これはセンサーからの実際のキャプチャのサイズです。これは、実際には他の2つの値とは関係ありません。通常、previewSizeでサポートされている値の一部と確実に重複します。しかし、これは結局のところ最終製品であるため、範囲がはるかに大きくなり、一般的にはるかに優れた解像度がサポートされる可能性があります。多くの場合、キャプチャは、これらのScreenSizeアスペクトが異なる可能性があるよりも優れた解像度を表示できるデバイスで見栄えが良くなる可能性があります。
ScreenSizeとPreviewSize通常、潜在的な画像をスキャンしている間、画像の表示に最も関連しています。これらは通常、センサーが現時点で認識し、ユーザーに表示できるものすべての、実際には焦点が合っていないクイックレンダリングです(ある意味でビデオフィードのように)。そのような場合、可能な限り最善を尽くしたいのですが、ディスプレイを最大限に活用するようにカメラが設定されていない場合があります。つまり、前面カメラは通常、ポートレートタイプの画像をキャプチャするように設定されており、プレビューでは画面のアスペクト比が利用されない場合があります。プレビューフレームを画面に直接表示する以外に何もしていない場合、これは純粋に表面的なものです。それ以外の場合、これが問題であるかどうかにかかわらず、その時点でよりアプリ固有になります。たとえば、正面カメラには4があります。3 PreviewSizeとScreenSizeの比率は16:9です。あなたはあなたがしていることにちょうどいいかもしれないレターボックスまたはストレッチソリューションで終わります。
開発者に関する限り、CaptureSizeは通常PreviewSizeとはまったく関係ありません。キャプチャされたファイルが特定のデバイスにのみ表示され、操作されない場合にのみ、ScreenSizeと穏やかに関連します。つまり、この1つのアプリの画像のみを撮影し、この1つのアプリにのみ表示する場合です。キャプチャサイズが大きく、画面が小さい場合は、スペースの無駄になります。一方、キャプチャが画面サイズよりも小さく、画像を画面に表示することだけが目的である場合、キャプチャが画面よりも小さい場合は、スケールアップが必要になることがあります。これは通常、メモリ、ファイルサイズ、および他のアクティビティやプロセスの後半で操作するためのキャプチャの品質のトレードオフに関連しています。
ほぼこれに帰着します。すべてを実行するための帯域幅、ストレージ、およびメモリがある場合、高解像度は最適です。そうでない場合は、いつでもスケーリングできます。拡大縮小する場合、私は通常、拡大縮小するのではなく、画像の表示が良くなることが多いという理由だけで縮小縮小することを好みます。
これについて考えれば考えるほど、全体的に漠然とした質問になります。うまくいけば、これはいくつかの利益をもたらします。