iOS截屏功能

时间:2022-12-02 00:40:09

代码:

iOS截屏功能
iOS截屏功能
- (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;
}