您的位置:首页 > 移动开发 > Android开发

android 中用Intent提取缩略图和原始图像

2010-05-28 17:49 393 查看
提取图像的Thumbnail

1)

启动Intent

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);

intent.setType("image/*");

intent.putExtra("return-data", true);

startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED);

在 onActivityResult 中
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {

return;

}

Bitmap bitmap = null;

ContentResolver resolver = getContentResolver();

if (requestCode == REQUEST_CODE_PHOTO_PICKED) {

final Bundle extras = data.getExtras();

if (extras != null)

bitmap = extras.getParcelable("data");

}

}

经过阅读android源代码发现,此方法返回的data 必须小于100k

2)

启动Intent

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);

intent.setType("image/*");

startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED);

在 onActivityResult 中
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {

return;

}

Bitmap bitmap = null;

ContentResolver resolver = getContentResolver();

if (requestCode == REQUEST_CODE_PHOTO_PICKED) {

try {
Uri originalUri = data.getData();

Uri thumb = Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, originalUri.getLastPathSegment());

bitmap = MediaStore.Images.Media.getBitmap(resolver, thumb);

} catch (IOException e) {

}

}

}

提取图像原数据

启动Intent

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);

intent.setType("image/*");

startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED);

在 onActivityResult 中
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {

return;

}

Bitmap bitmap = null;

ContentResolver resolver = getContentResolver();

if (requestCode == REQUEST_CODE_PHOTO_PICKED) {

try {

Uri originalUri = data.getData();

bitmap = MediaStore.Images.Media.getBitmap(resolver, originalUri );

} catch (IOException e) {

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: