사진을 찍고 앨범에 저장한 뒤에 그 사진을 어딘가로 전송하는 것엔 문제가 없지만, 찍은 후 저장하지 않고 바로 NSData 형식으로 서버에 전송하면 사진이 찍힌 orientation에 따라 방향이 바뀌어 전송된다.
이를 해결하기 위해서는 UIImage로 저장된 그림의 .imageOrientation에 따라 그림을 돌려주면 된다:
// 방향 바꾸기
CGAffineTransform transform = CGAffineTransformIdentity;
switch (takenImage.imageOrientation) { // UIImage *takenImage는 해당되는 그림
case UIImageOrientationDown:
case UIImageOrientationDownMirrored:
transform = CGAffineTransformTranslate(transform, takenImage.size.width, takenImage.size.height);
transform = CGAffineTransformRotate(transform, M_PI);
break;
case UIImageOrientationLeft:
case UIImageOrientationLeftMirrored:
transform = CGAffineTransformTranslate(transform, takenImage.size.width, 0);
transform = CGAffineTransformRotate(transform, M_PI_2);
break;
case UIImageOrientationRight:
case UIImageOrientationRightMirrored:
transform = CGAffineTransformTranslate(transform, 0, takenImage.size.height);
transform = CGAffineTransformRotate(transform, -M_PI_2);
break;
case UIImageOrientationUp:
case UIImageOrientationUpMirrored:
break;
'iPhone dev.' 카테고리의 다른 글
In-app purchase 정리 (1) | 2014.12.14 |
---|---|
AVAssetExportSession 을 이용한 비디오 transcoding(stackoverflow) (0) | 2013.12.11 |
아이폰 빈 공간(사용량) 구하기 (0) | 2012.12.01 |
UIButton 이미지 비율 조절하기 (0) | 2012.12.01 |
아이폰 3GS/4/4S와 5 화면 구분하기 (0) | 2012.11.15 |