次の方法で共有


Camera.Face.Rect プロパティ

定義

注意事項

deprecated

面の境界。

[Android.Runtime.Register("rect")]
[System.Obsolete("deprecated")]
public Android.Graphics.Rect? Rect { get; set; }
[<Android.Runtime.Register("rect")>]
[<System.Obsolete("deprecated")>]
member this.Rect : Android.Graphics.Rect with get, set

プロパティ値

属性

注釈

面の境界。 (-1000、-1000) はカメラの視野の左上を表し、(1000, 1000) は視野の右下を表します。 たとえば、ビューファインダー UI のサイズが 800 x 480 であるとします。 ドライバーから渡される rect は (-1000、-1000、0、0) です。 対応するビューファインダーの rect は (0、0、400、240) にする必要があります。 それは左右 < および上 < の底保証される。 座標は、-1000 より小さくすることも、1000 より大きくすることもできます。 ただし、少なくとも 1 つの頂点は (-1000、-1000) と (1000、1000) 内にあります。

方向はセンサーの向き、つまりセンサーが見るものを基準にしています。 方向は、回転またはミラーリングの影響を #setDisplayOrientation(int)受けません。 面の外接する四角形は、顔の向きに関する情報を提供しません。

ドライバー座標をピクセル単位でビュー座標に変換するマトリックスを次に示します。

Matrix matrix = new Matrix();
            CameraInfo info = CameraHolder.instance().getCameraInfo()[cameraId];
            // Need mirror for front camera.
            boolean mirror = (info.facing == CameraInfo.CAMERA_FACING_FRONT);
            matrix.setScale(mirror ? -1 : 1, 1);
            // This is the value for android.hardware.Camera.setDisplayOrientation.
            matrix.postRotate(displayOrientation);
            // Camera driver coordinates range from (-1000, -1000) to (1000, 1000).
            // UI coordinates range from (0, 0) to (width, height).
            matrix.postScale(view.getWidth() / 2000f, view.getHeight() / 2000f);
            matrix.postTranslate(view.getWidth() / 2f, view.getHeight() / 2f);

の Java ドキュメントandroid.hardware.Camera.Face.rect

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください