所以我注意到在某些设备上,我捕获的图像(位图)被奇怪地旋转了——通常是 90 度。我确实创建了一个可以正确旋转它的函数,但现在的问题是,有时图像进来(被捕获)完全没问题。有没有办法可以找出捕获的图像是否旋转(它的方向)?
我找到了这样的代码片段:
try {
ExifInterface exif = new ExifInterface(filename);
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
int rotate = 0;
switch(orientation) {
case ExifInterface.ORIENTATION_ROTATE_270:
rotate-=90;break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate-=90;break;
case ExifInterface.ORIENTATION_ROTATE_90:
rotate-=90;break;
}
...
}
但ExifInterface exif = new ExifInterface(filename);
期望创建一个文件或文件 uri。这是否意味着我必须先将位图更改为文件,然后再使用这种方法,还是有其他方法可以解决这个问题?
PS我正在使用Android's Camera X