最近应项目需求要自定义相机,后发现三星机器(其他机型有待测试)拍照后照片会旋转90度;在网上找了很多资料(ExifInterface 这个可以自行搜索)但都没解决,最好我只会硬着头皮解决。
三星机器拍照后获取图片的高宽发现,宽比高大,
11-03 14:18:04.726 4203-4203/bitmap.getHeight----->: 720
11-03 14:18:04.726 4203-4203/bitmap.getWidth----->: 1280
因此断定拍照时图片是旋转过的,这是只需将得到的图片旋转90度即可得到正常的图片
if(width < height) { bitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getWidth()); }else { Matrix matrix = new Matrix(); matrix.postRotate(90); bitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getHeight(),bitmap.getHeight(),matrix,true); }