【发布时间】:2014-06-03 18:37:02
【问题描述】:
我从 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]));
此位图不会显示在 Gallery 应用程序中制作的任何效果(摩托罗拉 Gallery 应用程序除外)。
【问题讨论】:
-
您能提供一些代码吗?谢谢! :)
-
刚刚添加了一个小例子。谢谢!
-
你的例子太小了,戴夫!我很欣赏合成,但这太过分了!
-
they aren't showing any of the gallery edits that have been made (ie. grayscale, sepia)- 你保存你修改过的图片吗? -
是的。在摩托罗拉的图库应用程序中,它会创建一个新图像。在 Android 的默认应用程序中,它只是保存对图像所做的编辑。它实际上并不编辑图像,而只是显示编辑。这样您就可以随时撤消已保存的更改。
标签: java android uri effects android-gallery