2016-02-14 22 views
2

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

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

你认为大小?你选择了一个图像,然后我认为你选择了图库文件的图库应用程序。那么文件大小。你没有提供足够的信息来帮助你。 – greenapps

+0

是从图库中选择图片后,当他点击上传按钮上传图片时,这种情况是可以看到位图大小但有时不起作用的 – mohammed02

回答

0

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

file.length(); 
+0

所以我必须将位图图像转换为整数。 – mohammed02

+0

废话。位图不能转换为整数。 – greenapps

+0

不需要转换,因为您可以使用此方法获取文件长度。如果使用byteCount-method或sizeOf-method检查它,则内存将始终相同,因为使用的内存与位图文件的实际文件大小不同。 – Edik

0

编码

后,您已经保存的位图作为后PNG还是JPEG? (使用bitmap.compress)

如果是这样的话,那么你可以简单地获取文件,并使用file.length()找到它的大小,它会给你文件的字节大小(在这种情况下是图像文件)。查阅Saving Files了解更多关于使用文件的信息。

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