我想以编程方式从我的应用程序中截取屏幕截图并且代码工作正常,但是我有一个带有模糊效果的 UIVisualEffectView 并且屏幕截图给了我没有模糊的图像!
如何让屏幕截图也变得模糊?

UIGraphicsBeginImageContextWithOptions(fullView.bounds.size, true, 1)
self.fullView.layer.renderInContext(UIGraphicsGetCurrentContext())
var viewImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil)

最佳答案

截取屏幕截图后,可以通过编程方式添加模糊效果。这是使用 GPUImage 库的示例,可以使用 CocoaPods 安装该库。使用 native Apple 库也可以实现类似的效果。

GPUImagePicture *picture = [[GPUImagePicture alloc] initWithImage:snapShot];
GPUImageiOSBlurFilter *blurFilter = [[GPUImageiOSBlurFilter alloc] init];
[blurFilter setBlurRadiusInPixels:4];

[picture addTarget:blurFilter];
[blurFilter useNextFrameForImageCapture];
[picture processImage];

UIImage *processed = [blurFilter imageFromCurrentFramebuffer];

关于ios - 以编程方式截屏并在 Swift 中进行模糊处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27118391/

10-09 07:10