自定义相机旋转拍照角度
来源:互联网 发布:mac版的photoshop cc 编辑:程序博客网 时间:2024/05/18 00:49
自定义相机拍照时有时会把手机倾斜着拍或者倒过来拍,怎么能在浏览拍摄的照片时看到的是一张正立的图片呢?
先利用传感器获得手机的拍照时的角度
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);
阅读全文
4 0
- 自定义相机旋转拍照角度
- android自定义相机 前置摄像头拍照,照片旋转180
- android自定义相机拍照
- android关于三星手机自定义相机拍照后照片旋转90度解决方案
- Android 自定义前置相机(三星手机拍照时照片旋转90度问题)
- 调用相机,自定义拍照 Runnable
- android 拍照+裁剪(解决部分相机拍照角度问题)
- 解决相机拍照不清晰,拍照旋转问题!
- android自定义相机、连续(自动)聚焦、点击(触摸)聚焦、变焦、拍照后自定义裁剪、旋转
- Android 自定义相机 身份证拍照 自定义身份证相机
- IOS二维码拍照相机自定义界面实例
- IOS二维码拍照相机自定义界面实例
- IOS二维码拍照相机自定义界面实例
- iOS自定义相机-------拍照 (一)
- Android关闭自定义相机拍照声音
- Android—实现自定义相机倒计时拍照
- 【Android 开发】SufaceView自定义相机拍照
- Android自定义相机实现定时拍照
- SVN上传
- 线程安全总结
- 贪吃蛇-----小游戏
- 获取SessionFactory的工具类
- JavaScript Math 对象
- 自定义相机旋转拍照角度
- MySQL分组查询时出现错误SELECT list is not in GROUP BY ;this is incompatible with sql_mode=only_full_group_by
- ppt后续更新模板(二)说明
- 练习赛ming最优安排(贪心)
- testNG入门教程
- 在二叉查找树中插入节点-LintCode
- PHP递归无限分类
- 用RecyclerView多布局实现购物车+随便逛一逛
- JavaScript的prototype