android gallery相关操作

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



猜你喜欢

转载自ericchan2012.iteye.com/blog/1683298
今日推荐