【问题标题】:How to get the size of an drawable image in android如何在android中获取可绘制图像的大小
【发布时间】:2012-01-17 07:00:26
【问题描述】:

目前我正在使用 android 中的可绘制图像,现在我想以 KB 为单位获取可绘制图像的大小,我该如何获得它,欢迎任何想法。

我在这里获取默认应用程序图标并存储在可绘制数组中,为每个图标创建一个新文件以获取长度是一个好主意吗?请提出更好的想法,谢谢

【问题讨论】:

标签: java android android-image


【解决方案1】:

这是一个想法。将可绘制图像转换为字节数组...数组长度是可绘制图像的大小(以字节为单位)。不知道有没有更好的方法...

【讨论】:

  • 这是我知道的唯一方法。如果您需要 KB,只需将 array.length 除以 1024。:)
  • 嗨,alex,我通过这种技术得到了预期的结果,感谢您的回复。
【解决方案2】:

我想你必须把它做成一个文件。但不确定它是否有效

File root = new File(Environment.getExternalStorageDirectory()
                            + File.separator + "temp" + File.separator);
                    root.mkdirs();
                    File file= new File(root, "temp.png");

FileOutputStream fOut = new FileOutputStream(file);
                                                 bmp.compress(Bitmap.CompressFormat.PNG, 100, fOut);//bmp is bitmap of ur image
                         fOut.flush();
                         fOut.close();

使用file.length() 应该可以得到文件大小。

【讨论】:

  • 他想从drawable而不是从sdcard。
  • 是的。我让他把它保存到 sd 卡并检查文件大小
【解决方案3】:

我不知道这是否适用于所有情况,但您可以使用它:

Drawable d;
long kbsize = ((BitmapDrawable)d).getBitmap().getByteCount() / 1024;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    相关资源
    最近更新 更多