Camera.Face.Rect 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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.rect
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。