我正在使用此代码进行屏幕截图
- (UIImage *)screenshot {
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
但是生成的图像没有正确显示的alpha和模糊效果
任何解决此问题的方法?
答案 0 :(得分:2)
当你查看“renderInContext”的文档时,你会发现它在Animations等方面有一些缺点。如果没有必要直接截取图层的截图
,请尝试使用它- (UIImage *)screenshot {
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0);
[self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:NO];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}