如何在图库中计算所选图片的大小?

3
我已经编辑了我的问题以使其更清晰。基本上,我正在开发一个应用程序,用户需要上传其个人资料图片。然而,我需要限制图像上传的大小为小于4MB。当用户从图像库选择他的图像时,在那一瞬间,我需要检查图像文件的大小,并向用户显示警报,如果文件大小大于4MB,则限制上传。 目前,我正在使用以下代码获取文件大小: File Img = new File(selectedImage.getPath()); int length = Img.length(); 我知道length()以字节形式返回文件大小,但是即使将字节转换为MB,这似乎总是返回比原始图像文件大小小得多的值,导致我认为通过这种方式获取文件大小是不准确的。 有没有其他方法可以从设备库获取图像文件的大小? 非常感谢您的任何帮助。谢谢大家。

请查看此链接:http://stackoverflow.com/questions/13328673/calculate-image-size-based-on-screen-size-in-android,并发布您目前拥有的代码。 - Developer
访问以下链接可能会对您有所帮助 -http://stackoverflow.com/a/13328803/2515750 - FraZer
2个回答

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();

谢谢您的回答。但是,我想在从图库选择图像时计算图像的大小。 - user228989

0

文件 Img = new File(selectedImage.getPath()); int length = Img.length()/1048576; // 文件大小以 MB 为单位 - Alexey Abraham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接