iPhone摄像头拍照后图像旋转
最近做了个有关图像处理的APP,里面涉及到拍照和从相册读图,测试时发现一个神奇的问题。
当我用后置摄像头拍照,然后将拍摄到的图片显示在APP界面上时,图片一切正常,然后读取图片像素信息,再用像素信息生成图片,按理说,新生成的图像和原图像应该是一样的,但是新生成的图片自动向左旋转了90度,如果把手机向左横过来拍照,处理后的照片倒是不旋转。上网搜了这个问题,没有直接的回答,有可能是因为我的问题描述的不够清晰,后面机缘巧合看到一篇博客,提到:
iPhone拍出的图像,包含一个属性:imageOrientation,这个属性有:
typedef NS_ENUM(NSInteger, UIImageOrientation) {UIImageOrientationUp, // default orientationUIImageOrientationDown, // 180 deg rotationUIImageOrientationLeft, // 90 deg CCWUIImageOrientationRight, // 90 deg CWUIImageOrientationUpMirrored, // as above but image mirrored along other axis. horizontal flipUIImageOrientationDownMirrored, // horizontal flipUIImageOrientationLeftMirrored, // vertical flipUIImageOrientationRightMirrored, // vertical flip
};
前四个好理解,就是正向、顺时针或逆时针转90度、逆时针旋转90度、顺时针旋转90度;后四个其实就是在前四个的基础上以中线为基准水平镜像、垂直镜像。被我处理过的UIImage不再有imageOrientation这个属性了,所以就按照UIImageOrientationUp默认正向显示了。所有,在获取到图像时,利用CGContext将它转正了,就OK了!
iPhone摄像头拍照后图像旋转相关推荐
- Android开发之拍照后图片旋转的问题
经过测试,国产手机拍照无问题,国外手机拍照后自动选装90度了看图:主要有Google手机和三星手机都会有这个问题 解决办法也很简单说下思路: 首先获取图片被旋转的角度然后通过matrix.postRo ...
- 在微信小程序中 调用前置摄像头拍照 后置摄像头拍照扫码
1.需求:点击扫码按钮,扫描二维码识别单号 实现: <view class="getcode" bindtap="scanCode"> &l ...
- H5调用手机摄像头拍照,如何压缩后上传
H5调用手机摄像头拍照后,怎样压缩再上传? 实际的压缩功能,就是利用canvas画布功能,将图片进行裁剪后保存图片的base64数据流,然后上传. 案例全部代码,示下: <!DOCTYPE ht ...
- Android 拍照后图片的旋转,合并,兼容性 相机开发
在看这篇文章之前,我建议先看相机开发基础 针对这个功能需要做自定义相机,根据Camera相机类和SurfaceView类来实现自定义图形预览拍照功能. 但在实现过程中出现几个难点: 1.如何将自己产品 ...
- Python黑客系列之——控制自己的手机摄像头拍照,并自动发送到邮箱。
前言 嗨喽,大家好~今天教大家玩个花的,加入你手机被人偷了或者捡走了,那么如何找到这个人呢?通过定位系统可以,那么还有什么办法是可以让别人给你送回来的方法吗?这就是今天咱们的一个要实现的一个案例! 今 ...
- Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱
前言 今天这个案例,就是控制自己的摄像头拍照,并且把拍下来的照片,通过邮件发到自己的邮箱里. 想完成今天的这个案例,只要记住一个重点:你需要一个摄像头 思路 通过opencv调用摄像头拍照保存图像本地 ...
- 【Python】控制自己的手机摄像头拍照,并自动发送到邮箱
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 今天这个案例,就是控制自己的摄像头拍照, 并且把拍下来的照片,通过邮件发到自己的邮箱里. 想完成今天的这个案例,只要记住一个重点:你需要一个摄像头 思路 ...
- 【Android RTMP】NV21 图像旋转处理 ( 快速搭建 RTMP 服务器 Shell 脚本 | 创建 RTMP 服务器镜像 | 浏览器观看直播 | 前置 / 后置摄像头图像旋转效果展示 )
文章目录 安卓直播推流专栏博客总结 一. 编写快速搭建 RTMP 服务器 Shell 脚本 二. RTMP 快速搭建方法 三.创建阿里云 RTMP 服务器镜像 四.浏览器查看直播内容 五.前置 / 后 ...
- 【Android RTMP】NV21 图像旋转处理 ( 图像旋转算法 | 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )
文章目录 安卓直播推流专栏博客总结 一. 后置摄像头顺时针旋转 90 度 二. 前置摄像头顺时针旋转 90 度 三. NV21 格式图像旋转代码 安卓直播推流专栏博客总结 Android RTMP 直 ...
最新文章
- [摘录]第8章 与非美国人谈判的技巧
- c++ 优先队列_什么是队列?(Python队列)
- Flex页面跳转的五种实现方式
- C和C++的关键字区别
- android4.0.3 修改启动动画和开机声音
- Intel Core Enhanced Core架构/微架构/流水线 (2) - 代表处理器
- wannacry哭泣勒索病毒一键修复工具
- .net的页面在大并发下偶尔出现503错误
- oracle 存过 的语法,oracle 存储过程的基本语法_oracle
- stay here forever中文歌词
- python十六进制转pcap文件_python处理pcap文件——数据提取
- 通过PS抠出透明的玻璃瓶
- 计算机网络和internet选项,小编教你电脑ie的internet选项在哪
- html如何修改title前的小图标
- 手机qq2010java触屏_手机QQ2010(Java触屏)Beta2发布:操作更流畅
- Mac 显示隐藏文件夹
- #CSDN精选博文##学习必备##IT技术学习#系统化学习的第一步:建构自己的知识体系
- Glyphs 3 for Mac字体设计编辑工具
- 加法、乘法、除法贡献度计算实现
- k8s(五):核心技术-Service