.setFirstImageUrl(null)//设置上一次选中的图片地址

.setVideoSinglePick(true)//设置视频单选

.setCropPicSaveFilePath(“剪裁图片保存路径”)

.setMaxVideoDuration(2000L)//设置可选取的最大视频时长

.setMinVideoDuration(60000L)//设置视频可选取的最小时长

.pick(this, new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//图片剪裁回调,主线程

//注意:剪裁回调里的 ImageItem 中 getCropUrl()才是剪裁过后的图片地址

}

});

预览

支持普通预览和编辑预览,示例如下:

//配置需要预览的所有图片列表

ArrayList allPreviewImageList = new ArrayList<>();

//默认选中的图片索引

int defaultPosition = 0;

//开启编辑预览

ImagePicker.preview(this, new WXImgPickerPresenter(), allPreviewImageList, defaultPosition, new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//图片编辑回调,主线程

}

});

拍照

支持直接打开摄像头拍照,示例如下:

ImagePicker.takePhoto(this, “拍照保存路径”, new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//拍照回调,主线程

}

});

拍摄视频

支持直接打开摄像头拍视频,示例如下:

ImagePicker.takeVideo(this, “视频保存路径”, new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//拍照回调,主线程

}

});

调用选择器并剪裁

支持选择图片完调用剪裁,支持自定义比例剪裁,支持圆形剪裁,示例如下:

ImagePicker.withMulti(new WXImgPickerPresenter())

.mimeType(MimeType.ofImage())

.filterMimeType(MimeType.GIF)

//设置剪裁比例

.setCropRatio(1,1)

.cropSaveFilePath(“剪裁图片保存路径”)

//设置剪裁框间距,单位 px

.cropRectMinMargin(50)

//是否圆形剪裁,圆形剪裁时,setCropRatio 无效

.cropAsCircle()

//设置剪裁模式,留白或充满 CropConfig.STYLE_GAP 或 CropConfig.STYLE_FILL

.cropStyle(CropConfig.STYLE_FILL)

//设置留白模式下生成的图片背景色,支持透明背景

.cropGapBackgroundColor(Color.TRANSPARENT)

.crop(this, new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//图片剪裁回调,主线程

}

});

拍照并剪裁

支持直接打开摄像头拍照并剪裁,支持自定义比例剪裁和圆形剪裁,示例如下:

//配置剪裁属性

CropConfig cropConfig = new CropConfig();

//设置剪裁比例

cropConfig.setCropRatio(1, 1);

//设置剪裁框间距,单位 px

cropConfig.setCropRectMargin(100);

cropConfig.setCropSaveFilePath(“剪裁生成的图片路径”);

//是否圆形剪裁,圆形剪裁时,setCropRatio 无效

cropConfig.setCircle(false);

//设置剪裁模式,留白或充满 CropConfig.STYLE_GAP 或 CropConfig.STYLE_FILL

cropConfig.setCropStyle(CropConfig.STYLE_GAP);

//设置留白模式下生成的图片背景色,支持透明背景

cropConfig.setCropGapBackgroundColor(Color.TRANSPARENT );

//调用拍照

ImagePicker.takePhotoAndCrop(this, new WXImgPickerPresenter(), cropConfig,

new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//剪裁回调,主线程

}

});

直接剪裁

支持直接跳转剪裁页面,示例如下:

CropConfig cropConfig = new CropConfig();

//设置剪裁比例

cropConfig.setCropRatio(1, 1);

//设置剪裁框间距,单位 px

cropConfig.setCropRectMargin(100);

cropConfig.setCropSaveFilePath(“剪裁生成的图片路径”);

//是否圆形剪裁,圆形剪裁时,setCropRatio 无效

cropConfig.setCircle(false);

//设置剪裁模式,留白或充满 CropConfig.STYLE_GAP 或 CropConfig.STYLE_FILL

cropConfig.setCropStyle(CropConfig.STYLE_GAP);

//设置留白模式下生成的图片背景色,支持透明背景

cropConfig.setCropGapBackgroundColor(Color.TRANSPARENT );

//调用剪裁

String needCropImageUrl=“需要剪裁的图片路径”;

ImagePicker.crop(this, new WXImgPickerPresenter(), cropConfig, needCropImageUrl,

new OnImagePickCompleteListener() {

@Override

public void onImagePickComplete(ArrayList items) {

//剪裁回调,主线程

}

});

提供媒体数据——支持回调相册数据、所有媒体数据、指定相册内媒体数据

获取媒体相册数据

//指定要回调的相册类型,可以指定 13 种图片视频文件格式混合

Set mimeTypes = MimeType.ofAll();

ImagePicker.provideMediaSets(this, mimeTypes, new MediaSetsDataSource.MediaSetProvider() {

@Override

public void providerMediaSets(ArrayList imageSets) {

//相册列表回调,主线程

}

});

获取全部媒体文件

//指定要回调的相册类型,可以指定 13 种图片视频文件格式混合

Set mimeTypes = MimeType.ofAll();

ImagePicker.provideAllMediaItems(this, mimeTypes, new MediaItemsDataSource.MediaItemProvider() {

@Override

public void providerMediaItems(ArrayList imageItems, ImageSet allVideoSet) {

//全部媒体数据回调,主线程

//只有当 mimeTypes 既包含图片或者视频格式文件时,allVideoSet 才有值

}

});

获取指定相册内全部媒体文件

//指定要回调的相册类型,可以指定 13 种图片视频文件格式混合

Set mimeTypes = MimeType.ofAll();

//指定相册,id 不能为空

ImageSet imageSet = new ImageSet();

ImagePicker.provideMediaItemsFromSet(this, imageSet, mimeTypes, new MediaItemsDataSource.MediaItemProvider() {

@Override

public void providerMediaItems(ArrayList imageItems, ImageSet allVideoSet) {

//全部媒体数据回调,主线程

//只有当 mimeTypes 既包含图片或者视频格式文件时,allVideoSet 才有值

}

});

预加载获取指定相册内全部媒体文件

//指定要回调的相册类型,可以指定 13 种图片视频文件格式混合

Set mimeTypes = MimeType.ofAll();

//指定相册,id 不能为空

ImageSet imageSet = new Im
ageSet();

//预加载个数

int preloadSize = 40;

ImagePicker.provideMediaItemsFromSetWithPreload(this, imageSet, mimeTypes, preloadSize,

new MediaItemsDataSource.MediaItemPreloadProvider() {

@Override

public void providerMediaItems(ArrayList imageItems) {

//预加载回调,预先加载指定数目的媒体文件回调

}

},

new MediaItemsDataSource.MediaItemProvider() {

@Override

public void providerMediaItems(ArrayList imageItems, ImageSet allVideoSet) {

//所有媒体文件回调

}

});

presenter 指定、自定义 Item 样式、自定义皮肤 UI、自定义提示常量、设置选择器调用失败回调、自定义回调类型

详细使用方法请查看详细 API 文档

版本记录

查看详细版本记录

2.4.6 版本 [2019.11.02]

  1. 【BUG 修复】修复了红米拍照闪退问题

  2. 【BUG 修复】取消了选择器没有文件时直接退出选择器的策略。改为提示语句“暂未发现媒体文件”.

  3. 【适配】已适配 AndroidQ,解决 targetSdkVersion 设置 29 时数据库报错的 bug

  4. 【新增】新增直接拍摄视频

  5. 【新增】presenter 新增 overMaxCountTip、interceptPickerCancel、interceptVideoClick、getPickConstants 四个方法

  6. 【新增】新增 PickConstants 用于修改选择器所有文案,在 presenter 中指定

  7. 【新增】支持直接回调媒体数据,其中包含回调相册列表、全部媒体文件、指定相册里媒体文件,支持指定数量预加载。

  8. 【新增】新增退出选择器时拦截回调,新增点击视频 item 的拦截回调,在 presenter 中指定

  9. 【新增】新增视频最小选择时长

  10. 【优化】重构了预览页面,将选择器预览和通用预览分离,降低耦合度

  11. 【优化】统一整理了资源文件命名,以及删除不必要的资源

  12. 【调整】clearAllCache 方法已废弃

  13. 【调整】原有的选择器拍照会直接回调出照片,现在改为生成在选择器的第一个

  14. 【调整】当选择器只加载视频时,拍照 item 支持拍摄视频,其他情况均为拍照

  15. 【优化】选择器调用屏蔽多次点击,调用多次

  16. 【优化】所有不可选择的 item(置灰)选中均会有具体的提示

下个版本排期

ickConstants 四个方法

  1. 【新增】新增 PickConstants 用于修改选择器所有文案,在 presenter 中指定

  2. 【新增】支持直接回调媒体数据,其中包含回调相册列表、全部媒体文件、指定相册里媒体文件,支持指定数量预加载。

  3. 【新增】新增退出选择器时拦截回调,新增点击视频 item 的拦截回调,在 presenter 中指定

  4. 【新增】新增视频最小选择时长

  5. 【优化】重构了预览页面,将选择器预览和通用预览分离,降低耦合度

  6. 【优化】统一整理了资源文件命名,以及删除不必要的资源

  7. 【调整】clearAllCache 方法已废弃

  8. 【调整】原有的选择器拍照会直接回调出照片,现在改为生成在选择器的第一个

  9. 【调整】当选择器只加载视频时,拍照 item 支持拍摄视频,其他情况均为拍照

  10. 【优化】选择器调用屏蔽多次点击,调用多次

  11. 【优化】所有不可选择的 item(置灰)选中均会有具体的提示

下个版本排期

小红书图片剪裁框架+微信图片选择器+超高清大图预览,高级Android程序员必会相关推荐

  1. 小红书图片剪裁框架+微信图片选择器+超高清大图预览+图片自定义比例剪裁,支持 UI 自定义、支持跨进程回调

    YImagePicker 项目地址:yangpeixing/YImagePicker 简介: 小红书图片剪裁框架+微信图片选择器+超高清大图预览+图片自定义比例剪裁,支持 UI 自定义.支持跨进程回调 ...

  2. 小红书多图剪裁+微信图片选择器+大图预览+图片剪裁等等 相册

    最近发现一个挺不错的开源库,推荐给大家. 简介:小红书多图剪裁+微信图片选择器+大图预览+图片剪裁(支持圆形剪裁和镂空剪裁),已适配androidQ,借鉴并升级matisse加载内核!超强定制性可轻松 ...

  3. 微信公众平台上传和预览图片

    1.在index.html中引入js文件:http://res.wx.qq.com/open/js/jweixin-1.6.0.js 2.通过config接口注入权限验证配置,进行微信认证: wx.c ...

  4. ajax js图片上传到php,Ajax上传并预览图片(附代码)

    这次给大家带来Ajax上传并预览图片(附代码),Ajax上传并预览图片的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 直接上最简单的 一种 ajax 异步上传图片,并预览 html: 图片上 ...

  5. html5图片自动翻转,纯js实现360度旋转预览图片特效

    这是一款纯js实现360度旋转预览图片特效.该js特效仅使用120行代码,即可实现通过滑块.或鼠标手动360度旋转图片,以及自动360度旋转图片的效果. 使用方法 HTML结构 import Roll ...

  6. java 图片上一张 下一张_java实现预览图片,点击实现下一张

    项目上需要实现图片预览功能,页面展示图片的预览小图,点击时弹出层展示原图,可以点击上一张和下一张等效果 1.本文将简单具体介绍实现的全过程,前后台代码和需要用到的插件 2.先上效果图 加载页面的效果 ...

  7. imagepreview使用案例_微信小程序wx.previewImage预览图片实例详解

    一.小知识 二.例子 1.wxml 2.wxss .container { box-sizing:border-box; padding:20px; } .previewimg{ float:left ...

  8. elementui 使用el-image 控件 解决 通过点击查看按钮两次才能 实现预览图片

    需求:点击查看按钮,将图片显示出来. 问题:查看按钮必须触发两次才会将图片显示出来 前端效果: 点击查看按钮,弹出来图片 图片展示: 解决方法有两种: 第一种 调用Image 的源码中的image-v ...

  9. 微信小程序-预览图片识别二维码

    wx.getImageInfo(Object object) 获取图片信息.网络图片需先配置download域名才能生效. 测试图片地址:http://mmbiz.qpic.cn/mmbiz_png/ ...

最新文章

  1. 云计算推进企业管理深化,私有云将会深入企业
  2. Silverlight C# 游戏开发:Flyer04让我们一起来摇摆吧
  3. java web每天定时执行任务(四步轻松搞定)
  4. web中的各种打印方案
  5. Red hat linux 下装mysql5问题总结
  6. java mathematica_用Java获取Mathematica图像
  7. 字体外面怎么加边框_有钱人家连电视墙都发“光”,大理石墙周围加一圈镜面边框,华丽...
  8. java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
  9. Java代码中换行符怎么用
  10. python scipy stats学习笔记
  11. cnchar.js 获取汉字的拼音和笔画数的js库 cnchar2.0 支持繁体字、笔画顺序、多音字词
  12. win10开启Linux蓝屏,win10启动蓝屏_Win10怎么开启蓝屏记录
  13. python 会议室预约系统解决方案_会议预约管理系统解决方案
  14. 网易公开课 mysql_“网易云课程”SQL分析
  15. oracle excel vba6,如何在WPS个人Excel表格中启用宏功能来使用VBA
  16. 论文笔记 | 用户画像
  17. 师资博后是个什么样的职位?
  18. Module “*” must not contain source root *. The root already belongs to module “*”
  19. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
  20. 淘宝标题核心关键词怎么做?大神导航,一个神奇的网站,从此开启大神之路!

热门文章

  1. EXCEL电子表格简单字典功能
  2. itunes卸载不了怎么办?如何在Mac上卸载iTunes?
  3. E-Learning课件制作工具
  4. Mac上安装 Adobe Premiere系列软件提示 501 错误的解决方法
  5. 将Catia数据转成Inventor本地数据的工具:Mesh Enabler
  6. 11g文档学习----sysdba sysoper OSDBA OSOPER
  7. 面试突击25:sleep和wait有什么区别
  8. 新型高熵合金:谁说强度和延展性不可以相容!鱼与熊掌可以兼得!
  9. mac macbook eclipse 更改字体
  10. You are my sunshine,是我想拒绝也拒绝不了的阳光