我正在尝试从图库中获取图像并在 ImageView
上进行设置,听上去没问题我在 ImageView
上获取并设置了图像,但现在我想检查一下所选图像的图像大小 kb
所以我设置了图像上传的验证。
请任何人都可以建议我如何检查所选图像大小是否小于 100kb
?,
听到的是我选择和设置图像的代码。
使用 Intent
选择图像
Intent iv = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(iv, RESULT_LOAD_IMAGE);
并获取图像结果代码..
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bmp=BitmapFactory.decodeFile(picturePath);
ivLogo.setImageBitmap(bmp);
uploadNewPic();
}
}
最佳答案
知道大小小于 100kb。您应该知道要比较的图像大小。有一些方法可以知道位图的大小
方法一
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
Bitmap bitmap = bitmapOrg;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] imageInByte = stream.toByteArray();
long lengthbmp = imageInByte.length;
方法二
File file = new File("/sdcard/Your_file");
long length = file.length() / 1024; // Size in KB
更多研究
寻找http://developer.android.com/reference/android/graphics/Bitmap.html#getByteCount%28%29
关于java - 如何检查图像大小小于 100kb android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137003/