我最近开始玩Android的相机api。我正在使用面部检测,它是回调setFaceDetectionListener
。我无法理解如何将faces[0].rect.centerX();
和faces[0].rect.centerY()
转换为可在屏幕上使用的内容,例如围绕该点居中移动图像。
任何人都可以帮助我理解如何从相机给出的coord系统转换为我可以用来设置活动元素的东西。
答案 0 :(得分:6)
来自docs
( - 1000,-1000)表示摄像机视野的左上角,(1000,1000)表示视野的右下角。
所以要输入屏幕坐标(伪代码):
screenX = (coord.x +1000) * screen.width / 2000
screenY = (coord.y +1000) * screen.height / 2000
答案 1 :(得分:0)
使用此代码(假设您有宽度和高度整数变量):
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(faces[0].rect.centerX()-width/2,faces[0].rect.centerY()-height/2, 0,0);
...并获得宽度和高度:
public void onWindowFocusChanged(boolean hasFocus){
width=image.getWidth();
height=image.getHeight();
}