首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在android的ActivityResult()上获取图片的实际大小

在Android的ActivityResult()上获取图片的实际大小,可以通过以下步骤实现:

  1. 首先,确保你已经在AndroidManifest.xml文件中添加了相应的权限,以便访问设备的存储空间:
代码语言:txt
复制
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 在你的Activity中,使用以下代码来启动图库或相机应用,并获取选中的图片或拍摄的照片:
代码语言:txt
复制
private static final int REQUEST_IMAGE = 1;

private void openGallery() {
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(intent, REQUEST_IMAGE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_IMAGE && resultCode == RESULT_OK && data != null) {
        Uri imageUri = data.getData();
        String imagePath = getImagePath(imageUri);
        int imageSize = getImageSize(imagePath);
        // 在这里可以使用获取到的图片路径和大小进行后续操作
    }
}

private String getImagePath(Uri uri) {
    String[] projection = {MediaStore.Images.Media.DATA};
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
    if (cursor != null) {
        int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String imagePath = cursor.getString(columnIndex);
        cursor.close();
        return imagePath;
    }
    return null;
}

private int getImageSize(String imagePath) {
    if (imagePath != null) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(imagePath, options);
        return options.outWidth * options.outHeight;
    }
    return 0;
}
  1. 上述代码中,openGallery()方法用于打开图库应用,你也可以根据需要修改为打开相机应用。onActivityResult()方法用于处理返回的结果,获取选中的图片的Uri,并通过getImagePath()方法获取图片的实际路径。然后,通过getImageSize()方法获取图片的实际大小,以像素为单位。
  2. 最后,你可以根据获取到的图片路径和大小进行后续操作,例如显示在ImageView中或上传到服务器等。

请注意,以上代码仅涉及获取图片的实际大小,如果需要进行其他操作,例如压缩、裁剪等,你可以根据具体需求进行相应的处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的结果

领券