我正在从画廊或相机加载图像,以便我可以编辑它。我已经使用EXIFInterface来管理位图的旋转。但在三星s8[Android 9]中,它为图像提供了90度旋转但图像原本是不旋转的。根据这个旋转,我把它旋转了90度,这是我不想要的。
我尝试过使用ContentResolver通过光标进行旋转,但它也有与EXIFInterface相同的问题。以下是我尝试解决问题的两种方法:
private static int getExifOrientation(String image_absolute_path) throws IOException {
ExifInterface ei = new ExifInterface(image_absolute_path);
int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
return RotationOptions.ROTATE_90;
case ExifInterface.ORIENTATION_ROTATE_180:
return RotationOptions.ROTATE_180;
case ExifInterface.ORIENTATION_ROTATE_270:
return RotationOptions.ROTATE_270;
default:
return RotationOptions.NO_ROTATION;
}
}
private static int getOrientation(Context context, Uri photoUri) {
try {
Uri imageContentUri = getImageContentUri(context, photoUri.getPath());
if (imageContentUri == null) {
return -1;
}
Cursor cursor = context.getContentResolver().query(imageContentUri, new String[]{MediaStore.Images.ImageColumns.ORIENTATION}, null, null, null);
if (cursor == null) {
return -1;
}
if (cursor.getCount() != 1) {
cursor.close();
return -1;
}
cursor.moveToFirst();
int orientation = cursor.getInt(0);
cursor.close();
cursor = null;
return orientation;
} catch (Exception e) {
return -1;
}
}
我也面临着同样的问题。没有出口接口我也能应付,
在这种情况下旋转图像-
if (bm.getWidth() > bm.getHeight()) {
bm = rotateImage(bm, 270);
}
bm.compress(Bitmap.CompressFormat.JPEG, 100, fos);
在我的应用程序中,用户从相机捕获图像或从图库中选择图像,然后将其转换为pdf并上载到服务器,现在我的问题是,从相机捕获的图像在某些设备上旋转,我有代码尝试解决此问题,但它不起作用 任何建议或问题在哪里,没有错误代码或任何东西
我发现了一个非常有趣的问题。在拍摄相机照片后(我将设备保持在纵向模式,不旋转),给定的照片有时会旋转,但并不总是旋转。我知道,有些设备总是提供旋转的照片,但它可以使用exif或mediastore信息进行旋转。但在这种情况下,exif和mediastore表示方向为0,但图像是旋转的。最令人沮丧的是,这完全是随机发生的。代码非常简单: 有人见过这个问题吗?我在操作系统更新(4.1.1)后体验了Ga
在我的应用中,我提示用户捕获图像。用户相机活动在按钮单击时开始,用户可以选择使用相机捕获图像。 此图像保存在用户手机上。然后将图像上传到firebase Storage,一切正常。来自一位使用三星Note 8的用户的反馈是,当图像以肖像模式拍摄时,他稍后会在应用程序中以风景模式显示。 我查看了firebase存储,发现图像以横向模式保存在存储中,即使用户以纵向模式捕获图像。 我想我必须将元数据传递
我已经被困在相机里6天了,但没有得到任何适当的解决方案。当我通过相机意图捕获图像时,图像正在旋转。我试图修复方向,但有时它没有在onActivityResult()中给出位图值。当我尝试在ImageView中设置图像时,它会显示一个黑色屏幕。这是我的密码请帮帮我- 我得到的图像在横向模式,但不是在potrait模式。相机预览在拍摄图像后自动旋转90度。
当使用sharp image resize库https://github.com/lovell/sharp for Node.js时,图像将被旋转。 我没有写.rotate()的代码,那么为什么要旋转它,我怎样才能阻止它旋转呢? 我使用的是AWS提供的无服务器图像大小调整示例:https://github.com/awslabs/serverless-image-resizing。如果缩略图不存在
当我捕获照片时,在某些设备中,它会以景观模式存储在某些设备中,它会存储肖像。我想让图像在肖像模式无论如何。为此,我尝试获取图像的数据,并相应地将其旋转到肖像模式。但在一些设备,如三星,VIVO的方向值得到“0”。我不知道该怎么处理那个值。如果我90,那么一些设备将解决此问题,而另一些设备将向上保存照片。 我从Xamarin那里得到这个主意。Andoid图像旋转。但不知怎的,我不能再继续下去了。会有