美文网首页
截取屏幕指定区域的UI生成图片

截取屏幕指定区域的UI生成图片

作者: Cy_Star | 来源:发表于2019-12-06 15:46 被阅读0次

    截取某部分区域生成图片

    
    - (void)cutScreenWithView:(nullable UIView *)view successBlock:(nullable void(^)(UIImage * _Nullable image,NSData * _Nullable imagedata))block {
        //1、开启上下文
        UIGraphicsBeginImageContextWithOptions(view.layer.size,NO, 0.0);
        //2.获取当前上下文
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        
        //3.截屏
        [view.layer renderInContext:ctx];
        
        //字符串
        NSString * nameStr = @"字符串";
        [nameStr drawInRect:CGRectMake(105, 168, 300, 50) withAttributes:@{NSFontAttributeName:kFont(14),NSForegroundColorAttributeName:UIColor.blackColor}];  //画字符串
        
        //4、获取新图片
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        //5.转化成为Data
        //compressionQuality:表示压缩比 0 - 1的取值范围
        NSData *data = UIImageJPEGRepresentation(newImage, 1);
        //6、关闭上下文
        UIGraphicsEndImageContext();
        //7.回调
        block(newImage, data);
    }
    
    - (void)drawRect:(CGRect)rect {
        [self cutScreenWithView:self.bgImageView successBlock:^(UIImage * _Nullable image, NSData * _Nullable imagedata) {
            self.shareImage = image;
        }];
    }
    
    

    相关文章

      网友评论

          本文标题:截取屏幕指定区域的UI生成图片

          本文链接:https://www.haomeiwen.com/subject/nudegctx.html