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);
}