2011-12-05 4 views
3

2 - 3 개의 화면을 갖는 ipad 화면에 스냅 샷을 찍으려고합니다. 할 수 있습니다. 내가 가로 모드 있어요 때 내 문제가 지금 무슨 변형 된 화면의 스냅 샷

은, 난 그냥 스냅 촬영을 할 때, 다음 이미지보기에서 이미지가 세로 나타납니다 이제

CGAffineTransform transform; 
transform = CGAffineTransformMakeRotation(M_PI/2); 
imgPlayBoard.transform = transform; 

, 하나 개의보기를 transformrotate. 무슨 일이 일어날 지 모르겠다. 다음 기능을 사용하여 스냅 샷을 만듭니다.

그리고 이것은 내가 얻은 이미지입니다. 스냅의 이미지 크기는 동일하지만 모든 apears는 흰색입니다.

+0

체크 다음과 같이 나타납니다이 http://stackoverflow.com/questions/2831576/iphone-ipad-application-taking-screen-shot –

+0

@AnkitSrivastava하지 전체보기가 도움이된다면 회전, 녹색 배경 만 회전합니다. 그리고 이런 식으로 작동하지 않습니다. – DivineDesert

답변

3

좋아 .. 해결책을 직접 찾았습니다. 모두 괜찮 았습니다. 그러나 이미지 뷰를 변환하고이를 컨텍스트로 렌더링 했으므로 이미지 뷰의 원본 이미지를 변환을 폐기하는 것이 었습니다. 그래서 내가 한 이미지에서 바라는 세 가지 뷰가 모두 UIView에 추가 된 다음 해당 뷰의 스냅 샷을 찍었습니다. 이 문제가 해결되었습니다. :) 그래서 지금 내 기능

-(UIImage *)saveImage{ 
    UIGraphicsBeginImageContext(imgPlayBoard.frame.size); 
    [containerView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage * resultingImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return resultingImage; 
}