Android- 图片调整大小和裁剪
Android- Image resize and cropping
我正在使用图库从图库中选择图像并进行裁剪。但是,我也找到了旋转图像的选项。
Here's the link
到我正在使用的图书馆。
在我的代码中,我正在访问提供的功能,类似于库中给出的示例。我有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) 并做了一些调整以获得我想要的东西。我调整了宽高比和布局设计,使其看起来不错!
感谢大家的帮助。
我正在使用图库从图库中选择图像并进行裁剪。但是,我也找到了旋转图像的选项。 Here's the link 到我正在使用的图书馆。
在我的代码中,我正在访问提供的功能,类似于库中给出的示例。我有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) 并做了一些调整以获得我想要的东西。我调整了宽高比和布局设计,使其看起来不错!
感谢大家的帮助。