小红书图片剪裁框架+微信图片选择器+超高清大图预览,高级Android程序员必会
.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]
【BUG 修复】修复了红米拍照闪退问题
【BUG 修复】取消了选择器没有文件时直接退出选择器的策略。改为提示语句“暂未发现媒体文件”.
【适配】已适配 AndroidQ,解决 targetSdkVersion 设置 29 时数据库报错的 bug
【新增】新增直接拍摄视频
【新增】presenter 新增 overMaxCountTip、interceptPickerCancel、interceptVideoClick、getPickConstants 四个方法
【新增】新增 PickConstants 用于修改选择器所有文案,在 presenter 中指定
【新增】支持直接回调媒体数据,其中包含回调相册列表、全部媒体文件、指定相册里媒体文件,支持指定数量预加载。
【新增】新增退出选择器时拦截回调,新增点击视频 item 的拦截回调,在 presenter 中指定
【新增】新增视频最小选择时长
【优化】重构了预览页面,将选择器预览和通用预览分离,降低耦合度
【优化】统一整理了资源文件命名,以及删除不必要的资源
【调整】clearAllCache 方法已废弃
【调整】原有的选择器拍照会直接回调出照片,现在改为生成在选择器的第一个
【调整】当选择器只加载视频时,拍照 item 支持拍摄视频,其他情况均为拍照
【优化】选择器调用屏蔽多次点击,调用多次
【优化】所有不可选择的 item(置灰)选中均会有具体的提示
下个版本排期
ickConstants 四个方法
【新增】新增 PickConstants 用于修改选择器所有文案,在 presenter 中指定
【新增】支持直接回调媒体数据,其中包含回调相册列表、全部媒体文件、指定相册里媒体文件,支持指定数量预加载。
【新增】新增退出选择器时拦截回调,新增点击视频 item 的拦截回调,在 presenter 中指定
【新增】新增视频最小选择时长
【优化】重构了预览页面,将选择器预览和通用预览分离,降低耦合度
【优化】统一整理了资源文件命名,以及删除不必要的资源
【调整】clearAllCache 方法已废弃
【调整】原有的选择器拍照会直接回调出照片,现在改为生成在选择器的第一个
【调整】当选择器只加载视频时,拍照 item 支持拍摄视频,其他情况均为拍照
【优化】选择器调用屏蔽多次点击,调用多次
【优化】所有不可选择的 item(置灰)选中均会有具体的提示
下个版本排期
小红书图片剪裁框架+微信图片选择器+超高清大图预览,高级Android程序员必会相关推荐
- 小红书图片剪裁框架+微信图片选择器+超高清大图预览+图片自定义比例剪裁,支持 UI 自定义、支持跨进程回调
YImagePicker 项目地址:yangpeixing/YImagePicker 简介: 小红书图片剪裁框架+微信图片选择器+超高清大图预览+图片自定义比例剪裁,支持 UI 自定义.支持跨进程回调 ...
- 小红书多图剪裁+微信图片选择器+大图预览+图片剪裁等等 相册
最近发现一个挺不错的开源库,推荐给大家. 简介:小红书多图剪裁+微信图片选择器+大图预览+图片剪裁(支持圆形剪裁和镂空剪裁),已适配androidQ,借鉴并升级matisse加载内核!超强定制性可轻松 ...
- 微信公众平台上传和预览图片
1.在index.html中引入js文件:http://res.wx.qq.com/open/js/jweixin-1.6.0.js 2.通过config接口注入权限验证配置,进行微信认证: wx.c ...
- ajax js图片上传到php,Ajax上传并预览图片(附代码)
这次给大家带来Ajax上传并预览图片(附代码),Ajax上传并预览图片的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 直接上最简单的 一种 ajax 异步上传图片,并预览 html: 图片上 ...
- html5图片自动翻转,纯js实现360度旋转预览图片特效
这是一款纯js实现360度旋转预览图片特效.该js特效仅使用120行代码,即可实现通过滑块.或鼠标手动360度旋转图片,以及自动360度旋转图片的效果. 使用方法 HTML结构 import Roll ...
- java 图片上一张 下一张_java实现预览图片,点击实现下一张
项目上需要实现图片预览功能,页面展示图片的预览小图,点击时弹出层展示原图,可以点击上一张和下一张等效果 1.本文将简单具体介绍实现的全过程,前后台代码和需要用到的插件 2.先上效果图 加载页面的效果 ...
- imagepreview使用案例_微信小程序wx.previewImage预览图片实例详解
一.小知识 二.例子 1.wxml 2.wxss .container { box-sizing:border-box; padding:20px; } .previewimg{ float:left ...
- elementui 使用el-image 控件 解决 通过点击查看按钮两次才能 实现预览图片
需求:点击查看按钮,将图片显示出来. 问题:查看按钮必须触发两次才会将图片显示出来 前端效果: 点击查看按钮,弹出来图片 图片展示: 解决方法有两种: 第一种 调用Image 的源码中的image-v ...
- 微信小程序-预览图片识别二维码
wx.getImageInfo(Object object) 获取图片信息.网络图片需先配置download域名才能生效. 测试图片地址:http://mmbiz.qpic.cn/mmbiz_png/ ...
最新文章
- 云计算推进企业管理深化,私有云将会深入企业
- Silverlight C# 游戏开发:Flyer04让我们一起来摇摆吧
- java web每天定时执行任务(四步轻松搞定)
- web中的各种打印方案
- Red hat linux 下装mysql5问题总结
- java mathematica_用Java获取Mathematica图像
- 字体外面怎么加边框_有钱人家连电视墙都发“光”,大理石墙周围加一圈镜面边框,华丽...
- java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
- Java代码中换行符怎么用
- python scipy stats学习笔记
- cnchar.js 获取汉字的拼音和笔画数的js库 cnchar2.0 支持繁体字、笔画顺序、多音字词
- win10开启Linux蓝屏,win10启动蓝屏_Win10怎么开启蓝屏记录
- python 会议室预约系统解决方案_会议预约管理系统解决方案
- 网易公开课 mysql_“网易云课程”SQL分析
- oracle excel vba6,如何在WPS个人Excel表格中启用宏功能来使用VBA
- 论文笔记 | 用户画像
- 师资博后是个什么样的职位?
- Module “*” must not contain source root *. The root already belongs to module “*”
- 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
- 淘宝标题核心关键词怎么做?大神导航,一个神奇的网站,从此开启大神之路!
热门文章
- EXCEL电子表格简单字典功能
- itunes卸载不了怎么办?如何在Mac上卸载iTunes?
- E-Learning课件制作工具
- Mac上安装 Adobe Premiere系列软件提示 501 错误的解决方法
- 将Catia数据转成Inventor本地数据的工具:Mesh Enabler
- 11g文档学习----sysdba sysoper OSDBA OSOPER
- 面试突击25:sleep和wait有什么区别
- 新型高熵合金:谁说强度和延展性不可以相容!鱼与熊掌可以兼得!
- mac macbook eclipse 更改字体
- You are my sunshine,是我想拒绝也拒绝不了的阳光