pictureselector 压缩_Android 多图选择器PictureSelector 使用

本文介绍了如何在Android应用中使用PictureSelector库实现多图选择和压缩功能。首先,需要添加PictureSelector的依赖,并设置相关配置如最小SDK版本。接着,展示了如何调用PictureSelector创建图片选择器,设置参数如最大选择数量、是否开启裁剪和压缩。在获取选择的图片后,通过BitmapUtil工具类进行图片压缩,包括根据角度旋转图片、质量压缩和尺寸压缩。最后,提供了图片预览和实际使用示例。
摘要由CSDN通过智能技术生成

权限

依赖

maven { url 'https://jitpack.io' }

implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'

避免报错

然后因为PictureSelector需要项目minSdkVersion要大于或者等于19

然后最好添加

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

如果出现限制dex大小添加

multiDexEnabled true

apply plugin: 'com.android.application'

android {

compileSdkVersion 30

buildToolsVersion "30.0.1"

defaultConfig {

applicationId "com.wd.circlesharingdemo"

minSdkVersion 19

targetSdkVersion 30

versionCode 1

versionName "1.0"

multiDexEnabled true

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

}

}

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

使用

PictureSelector.create(activity)

.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()

//.theme()//主题样式(不设置为默认样式) 也可参考demo values/styles下 例如:R.style.picture.white.style

.maxSelectNum(maxSize)// 最大图片选择数量 int

.minSelectNum(1)// 最小选择数量 int

.imageEngine(GlideEngine.createGlideEngine())

.imageSpanCount(3)// 每行显示个数 int

.isCamera(true)// 是否显示拍照按钮 true or false

.isZoomAnim(true)// 图片列表点击 缩放效果 默认true

.isEnableCrop(true)// 是否裁剪 true or false

.isCompress(true)// 是否压缩 true or false

.minimumCompressSize(100)// 小于100kb的图片不压缩

.forResult(PictureConfig.CHOOSE_REQUEST);//结果回调onActivityResult code

然后在onActivityResult里面获取图片集合

@Override

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == RESULT_OK) {

// 结果回调

List selectList = PictureSelector.obtainMultipleResult(data);

//在这里补充一下因为现在的数据格式是LocalMedia需要进行转化不能强转这样会找不到路径的

showSelectPic(selectList);

}

}

经过测试拍照上传时会出现上传不上去的情况我还进行一次压缩,拍照成功上传

/**

* 关于图片的工具类压缩等

*/

public class BitmapUtil {

private static String PHOTO_FILE_NAME = "PMSManagerPhoto";

/**

* 获取图片的旋转角度

*

* @param f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值