【代碼筆記】截屏功能,代碼筆記截屏
代碼:
- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. //初始化介面 [self addView]; }#pragma -mark -functions//初始化介面-(void)addView{ UIImage *image = [self screenshot:UIDeviceOrientationPortrait isOpaque:YES usePresentationLayer:YES]; UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 200, 200)]; imageView.backgroundColor=[UIColor redColor]; imageView.image=image; [self.view addSubview:imageView];}//截屏功能- (UIImage *)screenshot:(UIDeviceOrientation)orientation isOpaque:(BOOL)isOpaque usePresentationLayer:(BOOL)usePresentationLayer{ CGSize size; if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) { size = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height); } else { size = CGSizeMake(self.view.frame.size.height, self.view.frame.size.width); } UIGraphicsBeginImageContextWithOptions(size, isOpaque, 0.0); if (usePresentationLayer) { [self.view.layer.presentationLayer renderInContext:UIGraphicsGetCurrentContext()]; } else { [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; } UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;}