欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android gallery相关操作

程序员文章站 2024-02-11 13:24:04
...
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);