title: detect face from image and crop face from that photo
body: <p>I have done coding in that i am  successfully getting face with rectangle drawing now i want to crop that rectangle area. if there are many rectangle( mean many faces) than user can select one of the face or rectangle and that rectangle  areal should be cropped  can any body help me...</p>
  
  <p>Below is my code </p>
  
  <pre><code>   class AndroidFaceDetector extends Activity {
  public String path;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Bundle bundle = this.getIntent().getExtras();
      path = bundle.getString("mypath");
      setContentView(new myView(this));
  
  }
  
  class myView extends View {
  
      private int imageWidth, imageHeight;
      private int numberOfFace = 5;
      private FaceDetector myFaceDetect;
      private FaceDetector.Face[] myFace;
      float myEyesDistance;
      int numberOfFaceDetected;
      Bitmap myBitmap;
  
      public myView(Context context) {
          super(context);
          System.out.println("CONSTRUCTOR");
          System.out.println("path = "+path);
          if (path != null) {
              BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options();
              BitmapFactoryOptionsbfo.inPreferredConfig = Bitmap.Config.RGB_565;
              myBitmap = BitmapFactory.decodeFile(path, BitmapFactoryOptionsbfo);
              imageWidth = myBitmap.getWidth();
              imageHeight = myBitmap.getHeight();
              myFace = new FaceDetector.Face[numberOfFace];
              myFaceDetect = new FaceDetector(imageWidth, imageHeight, numberOfFace);
              numberOfFaceDetected = myFaceDetect.findFaces(myBitmap, myFace);
  
          } else {
              Toast.makeText(AndroidFaceDetector.this, "Please Try again", Toast.LENGTH_SHORT).show();
          }
  
      }
  
      @Override
      protected void onDraw(Canvas canvas) {
          System.out.println("ON DRAW IS CALLED");
          if (myBitmap != null) {
  
              canvas.drawBitmap(myBitmap, 0, 0, null);
  
              Paint myPaint = new Paint();
              myPaint.setColor(Color.GREEN);
              myPaint.setStyle(Paint.Style.STROKE);
              myPaint.setStrokeWidth(3);
  
              for (int i = 0; i &lt; numberOfFaceDetected; i++) {
                  Face face = myFace[i];
                  PointF myMidPoint = new PointF();
                  face.getMidPoint(myMidPoint);
                  myEyesDistance = face.eyesDistance();
                  canvas.drawRect((int) (myMidPoint.x - myEyesDistance), (int) (myMidPoint.y - myEyesDistance),
                          (int) (myMidPoint.x + myEyesDistance), (int) (myMidPoint.y + myEyesDistance), myPaint);
  
  
              }
  
  
          }
      }
  }
  </code></pre>
  
  <p>}</p>