可能是重复问题:
解码后位图的字节大小?
有没有办法获取这个位图的大小? 我已经尝试使用getByteCount(),但无法使用它?
Bitmap bitmap = BitmapFactory.decodeByteArray(decryptedData , 0, decryptedData .length); //decoding bytearrayoutputstream to bitmap
有什么建议吗?
可能是重复问题:
解码后位图的字节大小?
有没有办法获取这个位图的大小? 我已经尝试使用getByteCount(),但无法使用它?
Bitmap bitmap = BitmapFactory.decodeByteArray(decryptedData , 0, decryptedData .length); //decoding bytearrayoutputstream to bitmap
有什么建议吗?
从API中可以看出,您可以使用
getWidth()
getHeight()
对于像素位图的大小。
如果它是字节数组(8位=1字节),那么只需取decryptedData.length - offset
,您就知道位图中有多少字节。
或者我在这里漏掉了什么?
public long getImageLength(String absFileName)
{
File file = new File(absFileName);
return file.length();
}
/**
* From "https://dev59.com/KXI95IYBdhLWcg3wwwyY"
* uri - data stored in an Intent returned from an application such as Gallery or Camera
*/
private String getAbsPath(Uri uri)
{
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}