如何在图库中计算选定的图像尺寸?

时间:2013-09-04 10:54:53

标签: android performance

编辑了我的问题以使其更清晰。

基本上我正在开发一个用户需要上传个人资料图片的应用。但是我需要将图像上传的大小限制为小于4MB。在这里用户从图库中选择他的图像,在那一刻我需要检查图像文件的大小,并在文件大小超过4MB时向用户显示警告并限制上传。

目前我正在使用此代码来获取文件大小:

File Img = new File(selectedImage.getPath()); int length = Img.length();

我知道length()以字节为单位返回文件大小,但是即使在从字节转换为MB之后,这似乎总是返回比原始图像文件大小非常小的值,这导致我认为以这种方式获取文件大小是不准确的

还有其他方法可以从设备库中获取图像文件的文件大小吗?

非常感谢任何帮助。谢谢你们。

2 个答案:

答案 0 :(得分:0)

实际上,问题有点不清楚:大小是'Kb'还是你必须知道它在屏幕上会怎样?

这会有帮助吗?

答案 1 :(得分:0)

以下是如何使用BitmapFactory从可绘制资源获取维度:

BitmapFactory.Options o = new BitmapFactory.Options();
o.inTargetDensity = DisplayMetrics.DENSITY_DEFAULT;
Bitmap bmp = BitmapFactory.decodeResource("Your image file");
int w = bmp.getWidth();
int h = bmp.getHeight();