Сделать регулируемый прямоугольник обрезки на растровом изображении

Сейчас я выполняю функцию обрезки моего растрового изображения. Я могу обрезать свое растровое изображение, используя событие ontouch, которое случайным образом касается 2 точек на моем растровом изображении, и создаю новое растровое изображение с учетом координации двух точек касания.

Однако есть ли решение с регулируемым прямоугольником, которое позволяет наложить на растровое изображение область интереса?

Вот мой код, который я упоминал выше:

    image_view.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                if (x1 == -1 && y1 == -1 && x2 == -1 && y2 == -1) {
                    x1 = (int) event.getX();
                    y1 = (int) event.getY();
                } else if (x1 != -1 && y1 != -1 && x2 == -1 && y2 == -1) {
                    x2 = (int) event.getX();
                    y2 = (int) event.getY();

                    change_to_bitmap_from_array = Bitmap.createBitmap(
                            change_to_bitmap_from_array, x1, y1, x2, y2);

                    image_view.setImageBitmap(change_to_bitmap_from_array);
                    // done.setEnabled(true);
                    x1 = -1;
                    y1 = -1;
                    x2 = -1;
                    y2 = -1;

                }
            }

            return false;
        }

    });

person user1740540    schedule 20.11.2012    source источник
comment
Взгляните на stackoverflow.com/a/11335644/724514.   -  person bobnoble    schedule 20.11.2012


Ответы (1)


Насколько я знаю, формального решения вашей проблемы не существует. Но вы можете сделать это самостоятельно, используя прозрачный вид для прямоугольника и RelativeLayout с абсолютными координатами; контролировать его размер и положение в сенсорных событиях

person user1049280    schedule 20.11.2012