我正在拍照,将其保存为文件并显示为imageView
主画面,然后使用:
val filteredImage = bitmap.copy(Bitmap.Config.ARGB_8888,true)
我使用此filteredImage
变量在图像上应用滤镜,因为它现在是可变的。
问题是:正如您在下面的小图像中所见,方向发生了变化,我进行了很多搜索,但找不到任何解决方法。
当我将主ImageView
的位图替换为复制的位图时,我得到了:
答案 0 :(得分:2)
您的原始图像可能具有Exif方向数据,这些数据丢失在bitmap.copy()上。
@Override
public void onPictureTaken(CameraView cameraView, byte[] data) {
// Find out if the picture needs rotating by looking at its Exif data
ExifInterface exifInterface = new ExifInterface(new ByteArrayInputStream(data));
int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);
int rotationDegrees = 0;
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotationDegrees = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotationDegrees = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
rotationDegrees = 270;
break;
}
// Create and rotate the bitmap by rotationDegrees
}
请查看以下详细信息: https://stackoverflow.com/a/20480741/1159507