この r をどうすれば、顔型の矩形にできますか?
camera2APIを使っていて、画面は横向きなので(デフォルトも横向き)角度を変更する必要はないです。フロントカメラを使うため左右反転させてます。
java
1Face[] faces = result.get(CaptureResult.STATISTICS_FACES); 2for (Face face : faces) { 3 4 drawRect(face); 5} 6 7public void drawRect(Face face){ 8 canvas = surfaceHolder.lockCanvas(); 9 Paint paint = new Paint(); 10 paint.setStyle(Paint.Style.STROKE); 11 Rect L=face.getBounds(); 12 canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); 13 paint.setColor(Color.GRAY); 14 15//フロントカメラなので左右を反転させる 16canvas.scale(-1.0f,1.0f,screen_width/2,screen_height/2); 17 18 Matrix matrix = new Matrix(); 19// スケールの算出 20 matrix.postScale(screen_width / 2000f, screen_height / 2000f); 21// 座標の移動 22 matrix.postTranslate(screen_width / 2f, screen_height / 2f); 23// Canvas の保存 24 int saveCount = canvas.save(); 25// Matrix を適用 26 canvas.concat(matrix); 27// 描画 28 canvas.drawRect(L, paint); 29 canvas.restoreToCount(saveCount); 30}
あなたの回答
tips
プレビュー