在位图上创建一个可调整的裁剪矩形

时间:2012-11-20 11:45:05

标签: android bitmap android-canvas crop

我正在为我的位图做一个裁剪功能。我能够使用ontouch事件裁剪我的位图,我随机触摸位图上的2个点并创建一个关于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;
        }

    });

1 个答案:

答案 0 :(得分:0)

据我所知,您的问题没有任何正式的解决方案。但是你可以自己做,使用透明的View for rectangle和RelativeLayout with absolute coords;控制它在触摸事件中的大小和位置