Пример #1
0
        public void run() {
          mImageMatrix = mImageView.getImageMatrix();
          Bitmap faceBitmap = prepareBitmap();

          mScale = 1.0F / mScale;
          if (faceBitmap != null && mDoFaceDetection) {
            FaceDetector detector =
                new FaceDetector(faceBitmap.getWidth(), faceBitmap.getHeight(), mFaces.length);
            mNumFaces = detector.findFaces(faceBitmap, mFaces);
          }

          mHandler.post(
              new Runnable() {
                public void run() {
                  mWaitingToPick = mNumFaces > 1;
                  if (mNumFaces > 0) {
                    for (int i = 0; i < mNumFaces; i++) {
                      handleFace(mFaces[i]);
                    }
                  } else {
                    makeDefault();
                  }
                  mImageView.invalidate();
                  if (mImageView.mHighlightViews.size() == 1) {
                    mCrop = mImageView.mHighlightViews.get(0);
                    mCrop.setFocus(true);
                  }

                  if (mNumFaces > 1) {
                    Toast t =
                        Toast.makeText(CropImage.this, "Multi face crop help", Toast.LENGTH_SHORT);
                    t.show();
                  }
                }
              });
        }