Android- 图片调整大小和裁剪

Android- Image resize and cropping

我正在使用图库从图库中选择图像并进行裁剪。但是,我也找到了旋转图像的选项。 Here's the link 到我正在使用的图书馆。

在我的代码中,我正在访问提供的功能,类似于库中给出的示例。我有2个问题。

  1. 在搜索解决方案时,我从图库中选择的图像总是按某种顺序(时钟或逆时钟)旋转我了解到这是由于图像尺寸过大造成的。但是,鉴于我必须使用这个库,找不到调整图像大小的好方法。

  2. 虽然图像旋转工作正常,并且我能够正确裁剪图像,但是生成的裁剪图像仍然旋转,裁剪部分部分与我裁剪的部分相同。抱歉,我无法 post 图片,因为回购点较少。

谢谢

您可以使用此功能来确定图库中图像的旋转。您需要传递从选择器返回的图像的路径。

public static int getRotationFromBitmapFile(String filePath) {
        ExifInterface exifInterface = null;
        try {
            exifInterface = new ExifInterface(filePath);
        } catch (IOException e) {
            //Logger.d("Unable to read ExifInterface from file", e);
        }

        if (exifInterface != null) {
            int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);
            switch (orientation) {
                case ExifInterface.ORIENTATION_ROTATE_180:
                    return 180;
                case ExifInterface.ORIENTATION_ROTATE_270:
                    return 270;
                case ExifInterface.ORIENTATION_ROTATE_90:
                    return 90;
                case ExifInterface.ORIENTATION_NORMAL:
                    return 0;
            }
        }

        //Could not read or information not present, use 0?!!
        return 0;
    }

好的,所以我找不到任何简单的方法来执行此操作。 但是我查看了 git 上的一个旧存储库 (Click here) 并做了一些调整以获得我想要的东西。我调整了宽高比和布局设计,使其看起来不错!

感谢大家的帮助。