2013-05-10 5 views
0

응용 프로그램에서 저는 iPad 카메라로 사진을 찍을 수 있습니다. CoreGraphics를 사용하면 그 이미지에 도형을 그릴 수 있습니다.
처음에는 이미지가 거꾸로되어 반영됩니다. 나는이와 그 해결 :iPad에서 사진을 찍을 때 왼쪽으로 회전하는 이미지

CGContextTranslateCTM(myContext, 0, backgroundImage.size.height); 
CGContextScaleCTM(myContext, 1.0, -1.0); 

그러나 당신이 세로 모드에서 이미지를 촬영 할 때 지금, 가져온 이미지가 왼쪽으로 회전 (그래서 수평되게 것). 이 코드로 이미지를 다시 회전 :

UIImage *tempImage = [[UIImage alloc] initWithCGImage:imagetest.CGImage]; 

CGAffineTransform transform = CGAffineTransformIdentity; 
transform = CGAffineTransformTranslate(transform, 0, tempImage.size.height); 
transform = CGAffineTransformRotate(transform, -M_PI_2); 
CGContextRef ctx = CGBitmapContextCreate(NULL, tempImage.size.width, tempImage.size.height, 
             CGImageGetBitsPerComponent(tempImage.CGImage), 0, 
             CGImageGetColorSpace(tempImage.CGImage), 
             CGImageGetBitmapInfo(tempImage.CGImage)); 
CGContextConcatCTM(ctx, transform); 
CGContextDrawImage(ctx, CGRectMake(0,0,tempImage.size.height,tempImage.size.width), tempImage.CGImage); 
CGImageRef cgimg = CGBitmapContextCreateImage(ctx); 
UIImage *img = [UIImage imageWithCGImage:cgimg]; 
CGContextRelease(ctx); 
CGImageRelease(cgimg); 

지금 이미지가 오른쪽으로 (세로)에 표시됩니다,하지만 난 너비와 높이가 반전 어쩌면 때문에, 그것을 제대로 그릴 수 없습니다.

내가 읽은 바로는 CoreGraphics에서 읽을 수없는 이미지 방향이있는 메타 태그가 있습니다.

이미지를 회전하는 더 좋은 방법을 알고 계십니까? 또는 세로 모드로 사진을 찍을 때 이미지가 회전하지 않도록하는 솔루션은 무엇입니까?

답변

0

기기 카메라의 기본 방향이 가로이므로 세로 모드로 사진을 찍고 사진 갤러리에서 미리보기를하면 문제가되지 않을 수 있지만 앱에서 사용하면 90도 회전합니다. , 그 문제를 해결하기 위해 나는 내 대답을 썼다. Recent Post Here

+0

"** 이미지를 세로 모드 **로 가져 오면 가져온 이미지가 왼쪽으로 회전합니다."- 질문 –

0

당신이 tell the image to draw itself 일 경우, 그것은 그 자신의 방향을 존중할 것이다. 그것을 뒤집을 필요가 없으며 (회전 자체도) 회전 할 필요가 없습니다.