java - 图像不显示画廊效果

标签 java android uri effects android-gallery

我从 uris 获取图像,但它们没有显示任何已制作的图库效果(即灰度、棕褐色)。我希望能得到编辑后的图像。例如:

ContentResolver cr = activity.getContentResolver();
Cursor cur = cr.query(
       MediaStore.Images.Media.EXTERNAL_CONTENT_URI, // data
       new String[] { MediaStore.Images.Media._ID, 
       MediaStore.Images.Media.BUCKET_DISPLAY_NAME }, // Which columns to return
       "", // Which rows to return (all rows)
       null, // Selection arguments (none)
       MediaStore.Images.Media.DATE_ADDED+" DESC" // Ordering
);

ArrayList<String> bucketImageList = new ArrayList<String>();

//get bitmap thumbnails for all albums
if (cur.moveToFirst()) {
       String bucketName;
       String imageID;
       do {
               imageID = cur.getString(cur.getColumnIndex(MediaStore.Images.Media._ID));
               Uri uri = Uri.parse("content://media/external/images/media");
               uri = Uri.withAppendedPath(uri, "" + imageID);
               bucketImageList.add(uri.toString());
       } while (cur.moveToNext());
       cur.close();
       bucketImages = bucketImageList.toArray(new String[bucketImageList.size()]);
} 
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), Uri.parse(bucketImages[2]));

此位图不会显示在图库应用程序中制作的任何效果(摩托罗拉图库应用程序除外)。

最佳答案

您的代码应类似于以下内容:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK)
    {
        Uri imageUri = data.getData();
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
    }
}

如果您需要加载非常大的图像,以下代码会将其加载到图 block 中(避免大量内存分配):

BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(myStream, false);  
Bitmap region = decoder.decodeRegion(new Rect(10, 10, 50, 50), null);

另请参阅this answer

关于java - 图像不显示画廊效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24022515/

相关文章:

java - 如何在 Thymeleaf 3.0.x 中的自定义方言的处理器中获取标签正文

android - 如何从 sleep 中恢复相机预览?

android ndk native 代码 fopen() 路径

http - 为什么 Firefox 和 webkit 将 http :///example. org(带有三重斜杠)视为有效 URL?

linux - 我们可以在没有图形支持 (GUI) 的情况下访问虚拟数据端口管理工具吗?

java - apache httpclient 4 的 UNICODE URI 编码

java - Android 4 中的 Scribe-java 和异步请求

java - 如何从 Android 中的 URI 获取文件?

java - 使用 Java XPath 查询解析 XML,错误 :

android - OnclickListener 在 fragment ListView 中不起作用