自定义相机旋转拍照角度
2017-07-03 17:07
330 查看
自定义相机拍照时有时会把手机倾斜着拍或者倒过来拍,怎么能在浏览拍摄的照片时看到的是一张正立的图片呢?
先利用传感器获得手机的拍照时的角度
工具类:旋转角度
拍摄完照片之后
先利用传感器获得手机的拍照时的角度
private SensorManager sm = null; private SensorEventListener sensorEventListener = new SensorEventListener() { public void onSensorChanged(SensorEvent event) { if (Sensor.TYPE_ACCELEROMETER != event.sensor.getType()) { return; } float[] values = event.values; angle = AngleUtil.getSensorAngle(values[0], values[1]); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } };
public void registerSensorManager(Context context) { this.context = context; if (sm == null) { sm = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); } sm.registerListener(sensorEventListener, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager .SENSOR_DELAY_NORMAL); } public void unregisterSensorManager(Context context) { if (sm == null) { sm = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); } sm.unregisterListener(sensorEventListener); }
工具类:旋转角度
public class AngleUtil { public static int getSensorAngle(float x, float y) { if (Math.abs(x) > Math.abs(y)) { /** * 横屏倾斜角度比较大 */ if (x > 7) { /** * 左边倾斜 */ return 270; } else if (x < -7) { /** * 右边倾斜 */ return 90; } else { /** * 倾斜角度不够大 */ return 0; } } else { if (y > 7) { /** * 左边倾斜 */ return 0; } else if (y < -7) { /** * 右边倾斜 */ return 180; } else { /** * 倾斜角度不够大 */ return 0; } } } }
拍摄完照片之后
int nowAngle = (angle + 90) % 360; matrix.setRotate(nowAngle);
相关文章推荐
- Android 自定义前置相机(三星手机拍照时照片旋转90度问题)
- android自定义相机 前置摄像头拍照,照片旋转180
- android自定义相机、连续(自动)聚焦、点击(触摸)聚焦、变焦、拍照后自定义裁剪、旋转
- android关于三星手机自定义相机拍照后照片旋转90度解决方案
- Android自定义组件获取本地图片和相机拍照图片
- Android仿最新微信自定义相机(长按拍摄,轻点拍照)
- android 自定义用相机拍照后的照片存储位置
- 使用相机拍照获取图片后 有时候图像显示旋转
- Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
- 三星手机拍照后显示图片角度旋转问题的解决方法
- 自定义动画--角度抖动、路径旋转、左右晃动
- 调用相机拍照,处理图片旋转,保存图片
- 4000 iOS开发自定义相机(拍照,录制视频)
- 解决相机拍照不清晰,拍照旋转问题!
- android 自定义相机拍照的两种方式
- 三星手机拍照旋转问题 调用相机拍照出现横竖屏切换?
- 陀螺仪操作摄相机,可以旋转,但角度(轴)还不对
- Android之应用自定义相机拍照并且对拍照文字(英文)进行识别
- 安卓高级6 拍照或者从相册获取图片 并检测旋转角度或者更新画册扫描
- 自定义旋转角度并返回