java - 如何检查图像大小小于 100kb android

标签 java android image bitmap

我正在尝试从图库中获取图像并在 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/

相关文章:

安卓模拟器错误

android - 如何获取一部Android手机的默认Gmail用户名和密码

php - 如何允许用户下载图片(.gif、.png、.jpeg)?

java - 如何在没有textfield或textarea的java中获取keyevent?

java - 慢速角度旋转

java - 类型不匹配 : cannot convert from Integer to int

java - 如何在 Spring Boot 中为每个用户设置速率限制?

当 NestedScrollView 添加到 XML 时,Android Studio 预览消失

javascript - 有没有办法缩小图像的大小,这样加载时间就不会严重陷入困境

python - 在二进制边缘图像中查找闭合循环数