@Override protected void onPostExecute(Face[] faces) { if (mWaitDialog != null) { mWaitDialog.dismiss(); } Paint paint = getPaint(); String mark = "★"; FontMetrics fontMetrics = paint.getFontMetrics(); // 小数点切り上げ int textWidth = (int) FloatMath.ceil(paint.measureText(mark)); // http://wikiwiki.jp/android/?%A5%C6%A5%AD%A5%B9%A5%C8%A4%CE%C9%C1%B2%E8(FontMetrics) 参照 int textHeight = (int) FloatMath.ceil( Math.abs(fontMetrics.ascent) + Math.abs(fontMetrics.descent) + Math.abs(fontMetrics.leading)); if (mFaceNum > 0) { for (Face face : faces) { if (face == null) { continue; } PointF point = new PointF(); // 目と目の間の座標を取得 face.getMidPoint(point); float disH = face.eyesDistance() / 2; // 右目 float leftX = point.x - disH - (textWidth / 2); float leftY = point.y + (textHeight / 2); mCanvas.drawText(mark, leftX, leftY, paint); // 左目 float rightX = point.x + disH - (textWidth / 2); float rightY = point.y + (textHeight / 2); mCanvas.drawText(mark, rightX, rightY, paint); Log.d("------pose-----", String.valueOf(face.pose(Face.EULER_X))); } } mCallback.onPostExcute(mEditBitmap); super.onPostExecute(faces); }