80,354
社区成员
发帖
与我相关
我的任务
分享
PointF pointF = new PointF();
face.getMidPoint(pointF);
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
//摄像头流预览视图
<com.test.MyCameraPreview
android:id="@+id/cameraPreview"
android:layout_width="300dp"
android:layout_height="300dp">
</com.test.MyCameraPreview>
//画人脸边框的视图
<ImageView
android:id="@+id/drawImageView"
android:src="@drawable/xz_new"
android:layout_width="300dp"
android:layout_height="300dp"
android:scaleType="matrix"
android:visibility="visible" />
</RelativeLayout>
tempBitmap = Bitmap.createBitmap(640,480,
Bitmap.Config.ARGB_8888);
canvas = new Canvas(tempBitmap);
PointF pointF = new PointF();
face.getMidPoint(pointF);//得到人脸中心点坐标
float eyesDistance = face.eyesDistance();//两眼之前的距离
float index = eyesDistance*2;
int left =(int)(pointF.x-index);
int top = (int)((pointF.y- index));
int right=(int)((pointF.x+ index));
int bottom=(int)((pointF.y+ index));
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
canvas.drawRect(left,top,right,bottom,paint);
imageView.post(new Runnable() {
@Override
public void run() {
imageView.setImageBitmap(tempBitmap);
}
});
imageView.setPivotX(imageView.getWidth()/2);
imageView.setPivotY(imageView.getHeight()/2);//支点在图片中心
imageView.setRotation(90);