Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: user1740540Ответов: 1

Сейчас я выполняю функцию обрезки моего растрового изображения. Я могу обрезать свое растровое изображение, используя событие 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;
        }

    });
  • Взгляните на stackoverflow.com/a/11335644/724514. bobnoble 20.11.2012

androidandroid-canvasbitmapcrop

Ответы

Ответ 1 · user1049280

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы