Github最火开源项目-Android图片裁剪

开源地址:https://github.com/open-android/uCrop

PS:如果觉得这个系列的每篇文章太长,那就直接看视频吧

一款极具观赏性的图片裁剪库

运行效果

  • 爱生活,爱学习,更爱做代码的搬运工,分类查找更方便请下载黑马助手app
Github最火开源项目-Android图片裁剪_第1张图片
黑马助手.png

使用步骤

1. 在project的build.gradle添加如下代码(如下图)

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}
Github最火开源项目-Android图片裁剪_第2张图片

2. 在Module的build.gradle添加依赖

compile 'com.github.open-android:uCrop:v1.0.0'

3. 复制如下代码到xml




    

4. 复制如下代码到activity中 , 并且在onCreate方法查找ImageView

    private ImageView mIv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mIv = (ImageView) findViewById(R.id.iv);
    }

    public void start(View view){
        //需要裁剪的图片路径
        Uri sourceUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() , "icon_18.jpg"));

        //裁剪完毕的图片存放路径
        Uri destinationUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() , "icon_18_2.jpg"));

        UCrop.of(sourceUri, destinationUri) //定义路径
                .withAspectRatio(4, 3) //定义裁剪比例 4:3 , 16:9
                .withMaxResultSize(100, 100) //定义裁剪图片宽高最大值
                .start(this);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {

        //裁剪成功后调用
        if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) {
            final Uri resultUri = UCrop.getOutput(data);
            //设置裁剪完成后的图片显示
            mIv.setImageURI(resultUri);

            //出错时进入该分支
        } else if (resultCode == UCrop.RESULT_ERROR) {
            final Throwable cropError = UCrop.getError(data);
        }
    }

5. 在清单文件注册以下activity ,该activity是裁剪界面

    

6. 并且添加对SD卡的读写权限。

     
    
  • 详细的使用方法在DEMO里面都演示啦,如果你觉得这个库还不错,请赏我一颗star吧~~~

  • 欢迎关注微信公众号

微信公众号名称:Android干货程序员

Github最火开源项目-Android图片裁剪_第3张图片

你可能感兴趣的:(Github最火开源项目-Android图片裁剪)