Я обнаружил лицо в моем приложении.Я использую два ImageView, первый для лица и второй для маски.Мне нужно установить положение маски над рассчитанным положением лица, а затем можно перемещать маску с помощью события касания.Для события касания я использовал этот урок: http://blahti.wordpress.com/2011/01/17/moving-views-part-2/
Метод маскировки может вернуть положение лица.Я пытался установить позицию XY в маску ImageView, но когда-либо отображается в позиции 0.0.по лицу.Затем я могу переместить маску ImageView на лицо.«вид» - моя маска.В идеале мне нужно инициализировать вид изображения маски поверх положения лица.
PD: Извините, мой английский плохой.
protected Bitmap draw(int mode) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.c10);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Point position = new Point();
xRatio = anchoCara * 1.0f / anchoCara;
yRatio = altoCara * 1.0f / altoCara;
Bitmap resizedBitmap = null;
float factor = 9.6f;//9.6
for (int i = 0; i < eyesMidPts.length; i++) {
if (eyesMidPts[i] != null) {
pOuterBullsEye.setStrokeWidth(eyesDistance[i] / 6);
float newWidth = eyesDistance[i] * factor;
float newHeight = eyesDistance[i] * factor;
float scaleWidth = (newWidth) / width;
float scaleHeight = (newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,
height, matrix, true);
position.set(
(int) ((eyesMidPts[i].x * xRatio) - (eyesDistance[i] * factor) ),//2
(int) ((eyesMidPts[i].y * yRatio) - (eyesDistance[i] * factor) ));
Log.e("Face", "positio x : " + position.x);
Log.e("Face", "positio y : " + position.y);
Log.e("Face", "mascara width : " + resizedBitmap.getWidth());
Log.e("Face", "mascara heigth : " + resizedBitmap.getHeight());
// view.setBackgroundDrawable(new BitmapDrawable(resizedBitmap));
// view.setAdjustViewBounds(true);
// Log.i("Face", "positio x : " + view.getScrollX());
// Log.i("Face", "positio y : " + view.getScrollY());
}
}
return resizedBitmap;
}