Android读取图片(通过拍照或者相册导入图片)
2018-06-01 本文已影响0人
buhuiming
BHMAndroid工程:一些常用的工具类,以及常用的控件,主要用来提高开发效率。(GitHub)
集成:
compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:version' (version不定时更新)
<dependency>
<groupId>com.bhm.sdk.bhmlibrary</groupId>
<artifactId>BHMLibrary</artifactId>
<version>version</version>
<type>pom</type>
</dependency>
目前库包含了一些项目中常用的模块,后续会慢慢的添加完善。
3.jpg 4.jpg使用步骤
1、Activity或Fragment中声名全局变量
private CameraGalleryGetPic getPic;
2、初始化CameraGalleryGetPic
String path = Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + "RxLibrary" + "/";
getPic = CameraGalleryGetPic.newBuilder(activity)
.setPicPath(path)//自定义图片保存的临时地址,默认地址..CGGetPic文件夹
.isCrop(true)//是否剪切图片,默认为false
.setScale(320, 320)//设置图片剪切的宽高,isCrop(true)有效,默认300,300
.setFormat(CameraGalleryGetPic.FORMAT_PNG),设置图片的格式,默认jpeg
.build();
3、调用
getPic.cameraGetPic(getPictureCall());//调用相机
getPic.galleryGetPic(getPictureCall());//调用图库
private PictureCall getPictureCall(){
return new PictureCall() {
@Override
public void result(String path) {
Bitmap bitmap = BitmapFactory.decodeFile(path);
if(null != bitmap){
imageView.setImageBitmap(bitmap);
}
}
};
}
4、在AndroidManiFest中添加权限(不需要动态申请权限,在调用相机/图库已经有处理)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
5、在AndroidManiFest文件的application节点下添加:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.bhm.sdk.demo.fileprovider"//这里是:包名+.fileprovider
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
<meta-data
android:name="authorities"
android:value="com.bhm.sdk.demo.fileprovider" />//这里是:包名+.fileprovider,一定与provider的authorities一样