iPhone摄像头拍照后图像旋转

最近做了个有关图像处理的APP,里面涉及到拍照和从相册读图,测试时发现一个神奇的问题。

当我用后置摄像头拍照,然后将拍摄到的图片显示在APP界面上时,图片一切正常,然后读取图片像素信息,再用像素信息生成图片,按理说,新生成的图像和原图像应该是一样的,但是新生成的图片自动向左旋转了90度,如果把手机向左横过来拍照,处理后的照片倒是不旋转。上网搜了这个问题,没有直接的回答,有可能是因为我的问题描述的不够清晰,后面机缘巧合看到一篇博客,提到:

iPhone拍出的图像,包含一个属性:imageOrientation,这个属性有:

typedef NS_ENUM(NSInteger, UIImageOrientation) {
    UIImageOrientationUp,            // default orientation
    UIImageOrientationDown,          // 180 deg rotation
    UIImageOrientationLeft,          // 90 deg CCW
    UIImageOrientationRight,         // 90 deg CW
    UIImageOrientationUpMirrored,    // as above but image mirrored along other axis. horizontal flip
    UIImageOrientationDownMirrored,  // horizontal flip
    UIImageOrientationLeftMirrored,  // vertical flip
    UIImageOrientationRightMirrored, // vertical flip
};

前四个好理解,就是正向、顺时针或逆时针转90度、逆时针旋转90度、顺时针旋转90度;后四个其实就是在前四个的基础上以中线为基准水平镜像、垂直镜像。被我处理过的UIImage不再有imageOrientation这个属性了,所以就按照UIImageOrientationUp默认正向显示了。所有,在获取到图像时,利用CGContext将它转正了,就OK了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值