CropUtils

Project Url: glassLake/CropUtils
Introduction: 对图片裁剪框架 ucrop 的二次封装的工具类,添加从图库选择和拍照获取图片,项目中可直接使用,十分便捷
More: Author   ReportBugs   
Tags:
图片裁剪 util-

PhotoOut

Deprecated

此库不再维护,新库地址请看: https://github.com/hss01248/PicCrop

CropUtils

对 ucrop 的封装工具类,让其使用更加快捷.

在 ucrop 2.1.2(compile 'com.yalantis:ucrop:2.1.2')基础上封装,

如果以后 ucrop 以后升级,那么本工具类只需要改 CropConfig 里字段就可以.其他透明.

甚至,切换其他图片裁剪框架,也是改方法内部实现即可,不用更换各处已调用的 api.

uCrop 主项目地址

效果图(标题栏和状态栏颜色均可自定义)

通用裁剪界面

normalCrop

头像裁剪框

avatarcrop

封装的 api

public static void pickFromGallery(Activity context)//

public static void pickFromCamera(Activity context)

public static void pickAvatarFromGallery(Activity context)//从图库中选头像

public static void pickAvatarFromCamera(Activity context)

public static void pickFromGallery(Activity context,CropConfig config,int type)
//需要自定义设置时使用

public static void handleResult(Activity context, CropHandler cropHandler, int requestCode, int resultCode, Intent data)

public interface CropHandler {
        void handleCropResult(Uri uri,int tag);
        void handleCropError(Intent data);
    }

使用

点击选择图片或拍照的地方调用 pickxxx

实现 CropHandler 接口

在 activity 的 onActivityResult 里调用 CropUtils.handleResult(this,cropHandler,requestCode,resultCode,data);.注意无需预先对 intent 做为空的判断.

tag 字段用于同一个页面多个地方接收裁剪图片的区分,如无需要,不必设置.

相关

本工具类介绍 blog 地址

图片加载框架 Fresco 的封装工具类 FrescoUtils

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools