private void drawGuidelines(Canvas canvas){
  if (mGuidelinePaint != null) {
    float sw=mBorderPaint != null ? mBorderPaint.getStrokeWidth() : 0;
    RectF rect=mCropWindowHandler.getRect();
    rect.inset(sw,sw);
    float oneThirdCropWidth=rect.width() / 3;
    float oneThirdCropHeight=rect.height() / 3;
    if (mCropShape == CropImageView.CropShape.OVAL) {
      float w=rect.width() / 2 - sw;
      float h=rect.height() / 2 - sw;
      float x1=rect.left + oneThirdCropWidth;
      float x2=rect.right - oneThirdCropWidth;
      float yv=(float)(h * Math.sin(Math.acos((w - oneThirdCropWidth) / w)));
      canvas.drawLine(x1,rect.top + h - yv,x1,rect.bottom - h + yv,mGuidelinePaint);
      canvas.drawLine(x2,rect.top + h - yv,x2,rect.bottom - h + yv,mGuidelinePaint);
      float y1=rect.top + oneThirdCropHeight;
      float y2=rect.bottom - oneThirdCropHeight;
      float xv=(float)(w * Math.cos(Math.asin((h - oneThirdCropHeight) / h)));
      canvas.drawLine(rect.left + w - xv,y1,rect.right - w + xv,y1,mGuidelinePaint);
      canvas.drawLine(rect.left + w - xv,y2,rect.right - w + xv,y2,mGuidelinePaint);
    }
 else {
      float x1=rect.left + oneThirdCropWidth;
      float x2=rect.right - oneThirdCropWidth;
      canvas.drawLine(x1,rect.top,x1,rect.bottom,mGuidelinePaint);
      canvas.drawLine(x2,rect.top,x2,rect.bottom,mGuidelinePaint);
      float y1=rect.top + oneThirdCropHeight;
      float y2=rect.bottom - oneThirdCropHeight;
      canvas.drawLine(rect.left,y1,rect.right,y1,mGuidelinePaint);
      canvas.drawLine(rect.left,y2,rect.right,y2,mGuidelinePaint);
    }
  }
}

private void drawGuidelines ( Canvas canvas ) { if ( mGuidelinePaint != null ) { float sw = mBorderPaint != null ? mBorderPaint . getStrokeWidth ( ) : 0 ; RectF rect = mCropWindowHandler . getRect ( ) ; rect . inset ( sw , sw ) ; float oneThirdCropWidth = rect . width ( ) / 3 ; float oneThirdCropHeight = rect . height ( ) / 3 ; if ( mCropShape == CropImageView . CropShape . OVAL ) { float w = rect . width ( ) / 2 - sw ; float h = rect . height ( ) / 2 - sw ; float x1 = rect . left + oneThirdCropWidth ; float x2 = rect . right - oneThirdCropWidth ; float yv = ( float ) ( h * Math . sin ( Math . acos ( ( w - oneThirdCropWidth ) / w ) ) ) ; canvas . drawLine ( x1 , rect . top + h - yv , x1 , rect . bottom - h + yv , mGuidelinePaint ) ; canvas . drawLine ( x2 , rect . top + h - yv , x2 , rect . bottom - h + yv , mGuidelinePaint ) ; float y1 = rect . top + oneThirdCropHeight ; float y2 = rect . bottom - oneThirdCropHeight ; float xv = ( float ) ( w * Math . cos ( Math . asin ( ( h - oneThirdCropHeight ) / h ) ) ) ; canvas . drawLine ( rect . left + w - xv , y1 , rect . right - w + xv , y1 , mGuidelinePaint ) ; canvas . drawLine ( rect . left + w - xv , y2 , rect . right - w + xv , y2 , mGuidelinePaint ) ; } else { float x1 = rect . left + oneThirdCropWidth ; float x2 = rect . right - oneThirdCropWidth ; canvas . drawLine ( x1 , rect . top , x1 , rect . bottom , mGuidelinePaint ) ; canvas . drawLine ( x2 , rect . top , x2 , rect . bottom , mGuidelinePaint ) ; float y1 = rect . top + oneThirdCropHeight ; float y2 = rect . bottom - oneThirdCropHeight ; canvas . drawLine ( rect . left , y1 , rect . right , y1 , mGuidelinePaint ) ; canvas . drawLine ( rect . left , y2 , rect . right , y2 , mGuidelinePaint ) ; } } }
draw 2 veritcal and 2 horizontal guidelines inside the cropping area to split it into 9 equal parts .
