0
UIImageView를 어떤 각도로 회전시킨 후에 스크린 샷을 찍고 싶습니다. 이 코드를 사용하지만 바운더리에서 부분 분할 된 스크린 샷을 얻는다면 전체 스크린 샷을 얻을 수 없다는 것을 의미합니다. 여기 UIInageVew 내 예를 imgDisplayImage입니다 lastRotation는회전 후 UIImageView의 스크린 샷
// Create a graphics context with the target size
// On iOS 4 and later, use UIGraphicsBeginImageContextWithOptions to take the scale into consideration
// On iOS prior to 4, fall back to use UIGraphicsBeginImageContext
CGSize imageSize = self.imgDisplayImage.frame.size;
if (NULL != UIGraphicsBeginImageContextWithOptions)
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
else
UIGraphicsBeginImageContext(imageSize);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextTranslateCTM(context, [self.imgDisplayImage center].x, [self.imgDisplayImage center].y);
CGContextRotateCTM(context, lastRotation);
CGContextTranslateCTM(context,
-self.imgDisplayImage.frame.size.width * [[self.imgDisplayImage layer] anchorPoint].x,
-self.imgDisplayImage.frame.size.height * [[self.imgDisplayImage layer] anchorPoint].y);
[self.imgDisplayImage.layer renderInContext:context];
CGContextRestoreGState(context);
// Retrieve the screenshot image
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);
감사합니다.이 작업은 정상적으로 작동합니다. –