【问题标题】:Get Bitmap size after encoding?编码后获取位图大小?
【发布时间】:2016-02-14 11:09:47
【问题描述】:

编码后获取位图大小是否正确? 如果选择图片时需要在编码之前使用它怎么办?

if (v == buttonUpload) {
        if (bitmap.getByteCount() > 1000000) {
            Toast.makeText(getActivity().getApplicationContext(), "please check image size!!", Toast.LENGTH_SHORT).show();
        } else {
            uploadImage();
        }
    }

【问题讨论】:

  • 你认为尺寸是多少?您是否选择了图像,然后我认为您通过 Gallery 应用程序选择了图像文件。那么文件大小。您提供的信息不足以帮助您。
  • 是的,在从图库中选择图像后,当他点击上传按钮上传图像时,此条件将用于查看位图大小,但有时不起作用

标签: java android bitmap


【解决方案1】:

如果您想检查压缩位图图像的大小,请使用:

file.length();

【讨论】:

  • 所以我必须将位图图像转换为整数。
  • 废话。位图不能转换为整数。
  • 不需要转换,因为你可以用这个方法得到文件长度。如果使用 byteCount-method 或 sizeOf-method 进行检查,内存将始终相同,因为使用的内存与位图文件的实际文件大小不同。
  • 位图文件?在 Android 环境中从未听说过。请举个例子。
  • 文件 file = new File(absFileName);文件长度();在这里回答:stackoverflow.com/questions/6833909/get-size-of-bitmap-android 正在使用这种方法,并且工作正常。
【解决方案2】:

编码后

那么,在您将位图保存为 PNG 或 JPEG 之后呢? (使用 bitmap.compress)

如果是这种情况,那么您可以简单地获取文件并使用file.length() 找出它的大小,这将为您提供文件的字节大小(在这种情况下为图像文件)。查找 Saving Files 以获取有关处理文件的更多信息。

或者你想弄清楚位图对象在内存中的大小?在这种情况下,您可以使用分析(通过 DDMS)。你可以阅读更多关于它here

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2013-02-14
    • 2012-04-18
    • 2018-06-10
    • 1970-01-01
    相关资源
    最近更新 更多