IT虾米网

iOS实现毛玻璃效果详解

qq123 2018年06月24日 手机开发 444 0
使用core image
//生成一张毛玻璃图片
- (UIImage *)blur:(UIImage *)theImage
{
    CIContext *context = [CIContextcontextWithOptions:nil];
    CIImage *inputImage = [CIImageimageWithCGImage:theImage.CGImage];
   
    CIFilter *filter = [CIFilterfilterWithName:@"CIGaussianBlur"];
    [filter setValue:inputImageforKey:kCIInputImageKey];
    [filter setValue:[NSNumbernumberWithFloat:15.0]forKey:@"inputRadius"];//其中数值是模糊度(3~30,越大越模糊)
    CIImage *result = [filtervalueForKey:kCIOutputImageKey];
   
    CGImageRef cgImage = [contextcreateCGImage:resultfromRect:[inputImageextent]];
   
    UIImage *returnImage = [UIImageimageWithCGImage:cgImage];
    CGImageRelease(cgImage);
    return returnImage;
}

系统方法,iOS8以上
//方法一:系统方法,iOS8及以上可用
    if (!UIAccessibilityIsReduceTransparencyEnabled()) {
        UIBlurEffect *blurEffect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleDark];
        UIVisualEffectView *blurEffectView = [[UIVisualEffectViewalloc]initWithEffect:blurEffect];
        blurEffectView.frame = _imageView.bounds;
        [_imageView addSubview:blurEffectView];
    }

上述两种方法可以配合使用,效果可以增加光亮度
发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

iOS:压缩图片详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。