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 的大小为 800x480。 从驱动程序传递的 rect 为(-1000、-1000、0、0)。 相应的取景器矩形应为 (0, 0, 400, 240)。 它保证从右 < 到下 < 。 坐标可以小于 -1000 或大于 1000。 但至少有一个顶点将位于 (-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);

适用于 . 的 android.hardware.Camera.Face.rectJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

另请参阅