【问题标题】:How to calculate selected image size in gallery?如何计算图库中选定的图像尺寸?
【发布时间】:2013-09-07 20:16:56
【问题描述】:

已编辑我的问题以使其更清楚。

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

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

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

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

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

非常感谢任何帮助。谢谢大家。

【问题讨论】:

标签: android performance


【解决方案1】:

实际上,这个问题有点不清楚:大小是“以 Kb 为单位”或者你必须知道它在屏幕上的显示方式是什么??

这会有帮助吗?

【讨论】:

  • 文件Img = new File(selectedImage.getPath());整数长度 = Img.length()/1048576; //以MB为单位的文件大小
【解决方案2】:

以下是使用 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();

【讨论】:

  • 感谢您的回答。但是,我想在从图库中选择图像时计算图像的大小。
猜你喜欢
  • 2019-02-02
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 2013-01-17
  • 2013-06-13
  • 1970-01-01
  • 2021-12-09
相关资源
最近更新 更多