【问题标题】:iOS7 screenshot not taking into consideration blur effectiOS7截图不考虑模糊效果
【发布时间】:2013-10-03 07:14:39
【问题描述】:

我正在用这段代码截屏

- (UIImage *)screenshot {
    UIGraphicsBeginImageContext(self.bounds.size);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

但生成的图像没有正确显示 alpha 和模糊效果

有什么办法解决这个问题?

【问题讨论】:

    标签: uiimage ios7 calayer cgcontextref


    【解决方案1】:

    当您查看“renderInContext”的文档时,您会发现它在动画等方面有一些缺点。用这个试试,如果不需要直接截取图层的截图

    - (UIImage *)screenshot {
        UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0);
        [self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:NO];
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return newImage;
    }
    

    【讨论】: