gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:32 24 4
gpt4 key购买 nike

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com