来自:http://www.tanhao.me/pieces/1019.html/
其中获取到的kCGImagePropertyPixelHeight和kCGImagePropertyPixelHeight的数值是原始的值,也就是旋转之前的数值,所以要获取到显示图像的宽和高,需要对应kCGImagePropertyOrientation的值,而通过查看kCGImagePropertyOrientation的文档介绍,值分别从1-8,但其解释却让人看不懂,经过测试,得出与UIImageOrientation有以下的映射关系:
UIImageOrientationUp: 1 正常方向(默认值) 如图:
UIImageOrientationDown: 3 旋转180度(朝左朝右当然是一样的) 如图:
UIImageOrientationLeft: 8 向左逆时针旋转90度 如图:
UIImageOrientationRight: 6 向右顺时针旋转90度 如图:
UIImageOrientationUpMirrored: 2 将原图水平的翻转到背面 如图:
UIImageOrientationDownMirrored: 4 在水平翻转之后再旋转180度 如图:
UIImageOrientationLeftMirrored: 5 在水平翻转之后向左逆时针旋转90度 如图:
UIImageOrientationRightMirrored: 7 在水平翻译之后向右顺时针旋转90度 如图:
相关的Demo: