首页 > 代码库 > IOS 截屏

IOS 截屏

UIImage+Screenshot.h#import <UIKit/UIKit.h>@interface UIImage (Screenshot)+ (UIImage *)screenshot;@end#import "UIImage+Screenshot.h"@implementation UIImage (Screenshot)+ (UIImage *)screenshot{    CGSize imageSize = [[UIScreen mainScreen] bounds].size;     if (NULL != UIGraphicsBeginImageContextWithOptions) {        UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);    } else {        UIGraphicsBeginImageContext(imageSize);    }        CGContextRef context = UIGraphicsGetCurrentContext();        for (UIWindow *window in [[UIApplication sharedApplication] windows]) {        if (![window respondsToSelector:@selector(screen)] || [window screen] == [UIScreen mainScreen]) {            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);                        [[window layer] renderInContext:context];                        CGContextRestoreGState(context);        }    }        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();        UIGraphicsEndImageContext();        return image;}@end

// 使用

  UIImage *image = [UIImage screenshot];

 

 

IOS 截屏