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