Krtuno:
私はアンドロイドのアプリケーションでCameraXを使用しようと、プレビューと出力画像の両方が品質1になりたいと思ってきた:1つのアスペクト比の画像。私は画像とプレビュー設定を設定するための次のコードを試してみました
PreviewConfig previewConfig = new PreviewConfig.Builder()
.setTargetAspectRatio(new Rational(1, 1))
.build();
-
ImageCaptureConfig imageCaptureConfig = new ImageCaptureConfig.Builder()
.setTargetAspectRatio(new Rational(1, 1))
.setCaptureMode(ImageCapture.CaptureMode.MIN_LATENCY)
.build();
開発者のガイドによると、このコードは、ハードウェアは、そのアスペクト比に提供できる最高の解像度を選ぶだろう。これは、一部のデバイス上でうまく動作しますが、一部のデバイスで、出力画像の解像度は280X280ピクセルと低いようです。そのように見せかけすると、そのデバイス上のハードウェアのための有効なアスペクト比ではありません。
私は回避策として何を試すことができますか?3アスペクト比:私が念頭に置いていたことは、私はすべてのデバイスは、4を支持するだろうと考えていることでした。
私は、出力画像が、プレビューについて何を切り抜くことができます。我々はtextureviewをトリミングすることはできますか?
1枚の画像:または私はそれが1であるように思わファインダーの上にシンプルな黒の矩形状のビューを置くことができますか?
アレックスコーン:
あなたは一つだけではない文句を言います。1:1のサポートがあり、まだ非常に良いではありません。
あなたが提案緩和が合理的に見えます。4:3は私が今まで出会ったすべてのデバイスで、高品質を実現します。あなたは常に正方形のプレビューのルック&フィールを提供するために、いくつかの非透明のビューでのプレビューをオーバーレイすることができます。
あなたができる方法はGitHub上の例であり、正方形の映像を生成するためにトリミングされたフレームとMediaCodecを使用するには。