原博客地址:https://blog.csdn.net/weixin_40400031/article/details/105638293
引言:微信的图片选择器真的很6,心血来潮想做个仿品,正好前段时间实现了裁剪框架ClipView。于是我就开始着手开发Photor,这是一款黑色风格的图片选择器,类似微信的风格,实现了部分核心功能,支持二级选择,支持相机拍照,自带裁剪功能
github地址:https://github.com/bigdongdong/Photor
Photor:类似微信风格图片选择器,支持二级选择,支持相机拍照,自带裁剪功能
demo截图
框架截图
裁剪截图
裁剪框架:ClipView
使用方式:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' } //添加jitpack仓库
}
}
dependencies {
implementation 'com.github.bigdongdong:Photor:2.0' //添加依赖
}
//设置选择回调
OnPhotorListener onPhotorListener = new OnPhotorListener() {
@Override
public void onSuccess(List<ImgBean> IMGs, EMSource source) {
//IMGs 内包含 图片的url,名称,后缀名type,尺寸大小等信息
//source为选择源,分为CAMERA拍照和ALBUM相册
}
};
//从相机拍照
Photor.getInstance()
.context(this)
.crop(400,400) //裁剪参数,即最终返回的图片的宽高 [不写这行则不裁剪]
.onPhotorListener(onPhotorListener)
.requestImgFromCamera();
//从文件夹选择
Photor.getInstance()
.context(this)
.crop(400,400) //裁剪参数,即最终返回的图片的宽高 [不写这行则不裁剪]
.onPhotorListener(onPhotorListener)
.requestImgsFromDirectory(9); //从文件夹选择,最多选择9张
//从相册选择
Photor.getInstance()
.context(this)
.crop(400,400) //裁剪参数,即最终返回的图片的宽高 [不写这行则不裁剪]
.onPhotorListener(onPhotorListener)
.requestImgsFromAlbum(9); //从相册选择,最多选择9张
//清除Photor缓存,缓存有两部分组成:裁剪后的图片,以及拍照的原图
Photor.getInstance()
.context(this)
.clearCache();