安卓获取相册分辨率,默认最低
时间: 2024-09-15 10:05:51 浏览: 28
仿微信相册超级有用!!!!
在Android应用中,获取相册图片的分辨率通常涉及使用系统的`MediaStore` API。如果你想获取照片的默认最低分辨率,你可以这样做:
首先,获取用户选择的照片路径,然后读取图片信息:
```java
Uri selectedImage = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = getContentResolver().query(selectedImage, new String[]{MediaStore.Images.Media.DATA, MediaStore.Images.Media.MIME_TYPE}, null, null, null);
if (cursor != null) {
try {
int dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
int mimeTypeColumn = cursor.getColumnIndex(MediaStore.Images.Media.MIME_TYPE);
// 获取第一行数据
cursor.moveToFirst();
String filePath = cursor.getString(dataColumn);
String mimeType = cursor.getString(mimeTypeColumn);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true; // 只获取图片尺寸信息
BitmapFactory.decodeFile(filePath, options); // 避免实际解码
int width = options.outWidth;
int height = options.outHeight;
// 这里的width和height就是图片的原始分辨率,可以根据需求设置最小的显示尺寸
if (width < height) {
// 如果宽度小于高度,则按宽度调整
int minDim = Math.min(width, height);
} else {
// 否则按高度调整
int minDim = Math.min(width, height);
}
// 当然,你也可以设置一个具体的最低分辨率值(比如480x360),如果图片原分辨率低于这个值,就按这个值处理。
// 最低分辨率 = {minDim, minDim}
cursor.close();
} finally {
cursor.close();
}
} else {
Log.e("TAG", "Failed to get image information");
}
```
这里我们仅获取了尺寸信息,并没有真正解码图片,所以不会消耗过多资源。然后根据获取到的实际分辨率与预设的最低分辨率比较,确定最终的显示大小。
阅读全文