private void addHighlightView()
        {
            var edgeDetector = new ImageProcessor(bitmap);

            edgeDetector.GetCropBoundaries(out point_left, out point_top, out point_right, out point_bottom);

            Crop = new HighlightView(imageView);

            int width  = bitmap.Width;
            int height = bitmap.Height;

            Rect imageRect = new Rect(0, 0, width, height);

            // make the default size about 4/5 of the width or height
            int cropWidth  = Math.Min(width, height) * 4 / 5;
            int cropHeight = cropWidth;

            if (aspectX != 0 && aspectY != 0)
            {
                if (aspectX > aspectY)
                {
                    cropHeight = cropWidth * aspectY / aspectX;
                }
                else
                {
                    cropWidth = cropHeight * aspectX / aspectY;
                }
            }

            int x = (width - cropWidth) / 2;
            int y = (height - cropHeight) / 2;

            //RectF cropRect = new RectF(x, y, x + cropWidth, y + cropHeight);
            RectF cropRect = new RectF(point_left, point_top, point_right, point_bottom);

            Crop.Setup(imageView.ImageMatrix, imageRect, cropRect, aspectX != 0 && aspectY != 0);

            imageView.ClearHighlightViews();
            Crop.Focused = true;
            imageView.AddHighlightView(Crop);
        }