
本文共 4692 字,大约阅读时间需要 15 分钟。
iOS ������������������������
���iOS������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������
������������������������UIApplication���������������������������������������������������������������������������������������
// ������������������[N ������������ stringBy������������������self ���selector: @selector(userDidTakeScreenshot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil];
���������������������������������������������������������������������������������������������������������������������������
������������������������
������������������������������������������������userDidTakeScreenshot:
������������������������������������
// ������������- (void)userDidTakeScreenshot:(NSNotification *)notification { NSLog(@"���������������"); // ������������ UIImage *image = [self getScreenHotImage]; // ��������������������� UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);}
������������������������������
������������������������
���������������������������������������getScreenHotImage
������������������������������������������������������������������
// ������������������������- (UIImage *)getScreenHotImage { CGSize imageSize = CGSizeZero; // ��������������������������������� UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; // ������������������������������ if (UIInterfaceOrientationIsPortrait(orientation)) { imageSize = [UIScreen mainScreen].bounds.size; } else { imageSize = CGSizeMake([UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width); } // ��������������������������������������������� UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); CGContextRef context = UIGraphicsGetCurrentContext(); // ������������������������������������ for (UIWindow *window in [[UIApplication sharedApplication] windows]) { // ��������������������������� CGContextSaveGState(context); // ��������������������������������������������� CGContextTranslateCTM(context, window.center.x, window.center.y); // ��������������������������� CGContextConcatCTM(context, window.transform); // ������������������������������ CGContextTranslateCTM(context, -window.bounds.size.width * window.layer.anchorPoint.x, -window.bounds.size.height * window.layer.anchorPoint.y); // ��������������������������������� if (orientation == UIInterfaceOrientationLandscapeLeft) { CGContextRotateCTM(context, M_PI_2); CGContextTranslateCTM(context, 0, -imageSize.width); } else if (orientation == UIInterfaceOrientationLandscapeRight) { CGContextRotateCTM(context, -M_PI_2); CGContextTranslateCTM(context, -imageSize.height, 0); } else if (orientation == UIInterfaceOrientationPortraitUpsideDown) { CGContextRotateCTM(context, M_PI); CGContextTranslateCTM(context, -imageSize.width, -imageSize.height); } // ������������������������������������ if ([window respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { [window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES]; } else { [window.layer renderInContext:context]; } // ��������������������������������� CGContextRestoreGState(context); } // ������������������������������������ UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); // ������������������ UIGraphicsEndImageContext(); return image;}
���������������������������������
������������������������������������������������������������������������������������UIImage
������������������
������������
���������������������������������iOS���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
