Image Cropping Layout

Additional

Language
Java
Version
N/A
Created
Dec 11, 2015
Updated
Oct 25, 2019 (Retired)
Owner
Yu Lu (yulu)
Contributors
Yu Lu (yulu)
IKM (tikuma)
2
Activity
Badge
Generate
Download
Source code

Image Cropping Layout

A light-weight image cropping layout, allowing UI customization and cropping box update listener. Image and the selected area (cropping box) is scale and fit into the predefined area. In the latest release, multiple boxes are supported.

Current Version: 1.1.5

Import

dependencies {
    compile 'me.littlecheesecake:croplayout:1.1.5'
    ...
}

Usage

final EditPhotoView imageView = (EditPhotoView) findViewById(R.id.editable_image);
final EditableImage image = new EditableImage(this, R.drawable.photo2);

ScalableBox box1 = new ScalableBox(25,180,640,880);
ScalableBox box2 = new ScalableBox(2,18,680,880);
ScalableBox box3 =  new ScalableBox(250,80,400,880);
List<ScalableBox> boxes = new ArrayList<>();
boxes.add(box1);
boxes.add(box2);
boxes.add(box3);
image.setBoxes(boxes);
imageView.initView(this, image);

imageView.setOnBoxChangedListener(new OnBoxChangedListener() {
    @Override
    public void onChanged(int x1, int y1, int x2, int y2) {
        boxText.setText("box: [" + x1 + "," + y1 +"],[" + x2 + "," + y2 + "]");
    }
});

UI Customization

<me.littlecheesecake.croplayout.EditPhotoView
    android:id="@+id/editable_image"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:layout_margin="20dp"
    android:background="#fff"
    crop:crop_corner_color="#45B4CA"
    crop:crop_line_color="#d7af55"
    crop:crop_dot_color="#333333"
    crop:crop_shadow_color="#77ffffff"/>

Known Issue

  • actual cropping of the image is not implemented, but only update the selected area (cropping box)
  • crop box will be reset to the full image after rotation
  • image zoom-in is not supported

Developed By

Yu Lu @littlecheesecake.me

License

Copyright 2016 Yu Lu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.