gpt4 book ai didi

android - 如何组合图像中的多个 Uri

转载 作者:行者123 更新时间:2023-11-30 01:20:20 24 4
gpt4 key购买 nike

我有查询图库图片的功能

public void getImagesFromGallary(Context context) {

List<Uri> imagesUri = new ArrayList<>();
List<Uri> imageOrientationUri = new ArrayList<>();


Cursor imageCursor = null;
try {
final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.ImageColumns.ORIENTATION};
final String orderBy = MediaStore.Images.Media.DATE_ADDED + " DESC";


imageCursor = context.getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, null, orderBy);
while (imageCursor.moveToNext()) {
Uri uri = Uri.parse(imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA)));
Uri uriOrientation = Uri.parse(imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.ORIENTATION)));
imagesUri.add(uri);
imageOrientationUri.add(uriOrientation);

}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (imageCursor != null && !imageCursor.isClosed()) {
imageCursor.close();
}
}
}

为此我必须有两个 Uri 列表吗,例如我有一个

imagesUri 列表和 imageOrientationUri 列表。

如果我想从图像中获取更多信息,我是否必须从游标中解析另一个 Uri 怎么办?

最佳答案

您可以为图像创建一个对象,例如:

public class ImageDetails {

private URI imageURI;
private URI imageOrientationURI;

public URI getImageURI() {
return imageURI;
}

public void setImageURI(URI imageURI) {
this.imageURI = imageURI;
}

public URI getImageOrientationURI() {
return imageOrientationURI;
}

public void setImageOrientationURI(URI imageOrientationURI) {
this.imageOrientationURI = imageOrientationURI;
}
}

然后您创建一个列表并向其中添加详细信息,例如:

public void getImagesFromGallary(Context context) {

List<ImageDetails> imageDetails = new ArrayList<>();

Cursor imageCursor = null;
try {
final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.ImageColumns.ORIENTATION};
final String orderBy = MediaStore.Images.Media.DATE_ADDED + " DESC";

imageCursor = context.getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, null, orderBy);
while (imageCursor.moveToNext()) {
ImageDetails tmp = new ImageDetails();
tmp.setImageURI(Uri.parse(imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.ORIENTATION))));
tmp.setImageOrientationURI(Uri.parse(imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA))));

imageDetails.add(tmp);

}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (imageCursor != null && !imageCursor.isClosed()) {
imageCursor.close();
}
}

现在对于每个新属性,您可以在类中创建一个新变量以及 getter 和 setter

关于android - 如何组合图像中的多个 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com