android gallery相干操作
android gallery相关操作
1,android调用gallery获取图片
然后在
获取图片的uri。
通过uri获取到Bitmap:
在把获取到的Bitmap转化为Drawable
获取图片的其他信息,可以通过如下代码:
2,如果要调用带裁剪的gallery,只需要把intent改成如下:
1,android调用gallery获取图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent,GET_PHOTO_WITH_GALLARY);
然后在
protected void onActivityResult(int requestCode, int resultCode, Intent data) { data.getData()}
获取图片的uri。
通过uri获取到Bitmap:
public Bitmap getBitmapFromUri(Uri uri) { try { // 读取uri所在的图片 Bitmap bitmap = MediaStore.Images.Media.getBitmap( this.getContentResolver(), uri); return bitmap; } catch (Exception e) { e.printStackTrace(); return null; } }
在把获取到的Bitmap转化为Drawable
BitmapDrawable bd = new BitmapDrawable(avatar);
获取图片的其他信息,可以通过如下代码:
Cursor cursor = getContentResolver().query(uri, null, null, null, null); cursor.moveToFirst(); String imgNo = cursor.getString(0); //图片编号 String imgPath = cursor.getString(1); //图片文件路径 String imgSize = cursor.getString(2); //图片大小 String imgName = cursor.getString(3); //图片文件名
2,如果要调用带裁剪的gallery,只需要把intent改成如下:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data", true);