zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS截屏功能

ios 功能 截屏
2023-09-27 14:28:40 时间

代码:

复制代码
复制代码
- (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;
}