您的位置:首页 > 移动开发 > Android开发

Android 打开系统图库实现方法

2017-05-25 21:56 561 查看
1.打开系统图库

Intent intent = new Intent(Intent.ACTION_PICK);//选择
intent.setType("image/*");//选择图片
startActivityForResult(intent, PICK_CODE);


2.在onActivityResult()方法中获得图片

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_CODE){
if (data != null){
Uri uri = data.getData();
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
mCurrentPhotoStr = cursor.getString(idx);
cursor.close();

resizePhoto();

mPhoto.setImageBitmap(mPhotoIma);
mTip.setText("Click Dectect ==>");
}
}
super.onActivityResult(requestCode, resultCode, data);
}


3.压缩图片

/**
* 压缩照片--每张图片不能超过3M
*/
private void resizePhoto() {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;

BitmapFactory.decodeFile(mCurrentPhotoStr,options);

double ratio = Math.max(options.outWidth*1.0d/1024,options.outHeight*1.0d/1024);

options.inSampleSize = (int) Math.ceil(ratio);

options.inJustDecodeBounds = false;

mPhotoIma = BitmapFactory.decodeFile(mCurrentPhotoStr, options);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐