利用Album 实现仿微信图片选择(加入了图片剪裁)
来源:互联网 发布:淘宝卖家签收拒绝退款 编辑:程序博客网 时间:2024/06/07 03:08
本文图片选择基于轻量开源相册 Album,在选择图片完成后会调用系统图片剪裁页面,对图片进行剪裁
效果图:
选择图片(可以自定义选择几张):
剪切图片:
使用方法
1.Gradle:
compile ‘com.yanzhenjie:album:1.0.0’
2.权限
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.注册Activity
<activity android:name="com.yanzhenjie.album.AlbumActivity" android:label="图库" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@style/Theme.AppCompat.Light.NoActionBar" android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />
其中label=“”可以随便起,是Activity的标题
4.代码实现
调用
//第一个参数Activity/Fragment; //第二个request_code; //第三个允许选择照片的数量不填可以无限选择。 Album.startAlbum(MainActivity.this, 100, //请求码 9, // 指定选择数量。 // 指定Toolbar的颜色。 ContextCompat.getColor(MainActivity.this, R.color.colorPrimary), // 指定状态栏的颜色。 ContextCompat.getColor(MainActivity.this,R.color.colorPrimaryDark));
接受返回数据
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 100) { if (resultCode == RESULT_OK) { // 判断是否成功。 // 拿到用户选择的图片路径List: List<String> pathList = Album.parseResult(data); //下面代码是用来调用系统剪裁的,这里默认对第一张选择的图片进行剪裁 Uri fromFileURI = Uri.fromFile(new File(pathList.get(0))); Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(fromFileURI, "image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1 <= 0 ? 1 : 1); intent.putExtra("aspectY", 1 <= 0 ? 1 : 1); intent.putExtra("outputX", 100); intent.putExtra("outputY", 100); intent.putExtra("scale", true); // 图片剪裁不足黑边解决 intent.putExtra("scaleUpIfNeeded", true); intent.putExtra("return-data", false); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(pathList.get(0) + "1")));//这里是保存剪裁后的图片(名字随便起的) intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); // 去除人脸识别 startActivity(intent.putExtra("noFaceDetection", true)); } else if (resultCode == RESULT_CANCELED) { // 用户取消选择。 // 根据需要提示用户取消了选择。 } } }
0 0
- 利用Album 实现仿微信图片选择(加入了图片剪裁)
- android完美实现 拍照 选择图片 剪裁等代码分享
- 利用javascript剪裁图片(也许CSDN也是如此实现图像上传剪裁)
- Android图片剪裁的实现
- 图片剪裁
- 图片剪裁
- 剪裁图片
- 图片剪裁
- 图片剪裁
- 图片剪裁
- 图片剪裁
- 图片剪裁
- 图片剪裁
- 图片剪裁
- android选择图片、拍照、并剪裁
- Android实现读取相机(相册)图片并进行剪裁
- Xamarin.Forms中实现选择本地图片,并进行剪裁。(Android端)
- ASP.NET Ajax实现图片剪裁
- kernel启动过程的三个特殊进程
- iOS Crash文件的解析
- PHP产生不重复随机数的5个方法总结
- sqlDependency监控数据库数据变化,自动通知
- Java 实现本地缓存工具
- 利用Album 实现仿微信图片选择(加入了图片剪裁)
- 链表分割
- JSch - Java实现的SFTP(文件下载详解篇)
- Websocket原理及与httpl跟 ajax轮询的区别
- 微信小程序开发-短信注册功能
- 第二章 CDN技术概述
- PHP高级——抽象类与接口的区别
- listview取消按下效果
- sublime3 BufferScroll插件实现折叠功能