zoukankan      html  css  js  c++  java
  • iOS Core Image十行代码实现微信朋友圈模糊效果

    昨天下午微信的朋友圈着实火了一把,在这之后好多程序员都通过抓包工具看到了原图,但是我却在想,网上说是在移动前端做到的那是怎么做到的呢,经过一些学习,终于掌握了一些Core Image的知识,做出了相应的效果,仅仅十行代码

        UIImageView * imgView = [[UIImageView alloc]init];
        imgView.frame = CGRectMake(50, 50, 200, 200);
        [self.view addSubview:imgView];
        UIImage * img = [UIImage imageNamed:@"Result.png"];
    
        CIImage * inputImg = [CIImage imageWithCGImage:img.CGImage];
        CIContext * context = [CIContext contextWithOptions:nil];
        //在这里设置Core Image的相应效果
        CIFilter * filter = [CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:kCIInputImageKey,inputImg,@"inputRadius",@20, nil];
        CIImage * outPutImg = [filter outputImage];
        CGImageRef outImage = [context createCGImage:outPutImg fromRect:[outPutImg extent]];
        UIImage * newImg = [UIImage imageWithCGImage:outImage];
        NSLog(@"%@",newImg);
        imgView.image = newImg;

    上述仅仅是Core Image的一种效果,而Core Image的效果有上百种,要想熟练使用还需要进一步的学习,
    提供下面的

    -(void)showAllFilter
    {
        NSArray * filterNames = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
        for(NSString * filterName in filterNames)
        {
            CIFilter * filter  = [CIFilter filterWithName:filterName];
            NSLog(@"\r filter:%@ \rattributes:%@",filterName,[filter attributes]);
            
        }
        
    }

    一种找到全部效果的方法

    同学们可以自行学习并搭配使用哦。

  • 相关阅读:
    标记场景发生改变
    粗体EditorGUI
    unity shader 编辑器扩展类 ShaderGUI
    让打开文件夹直接在某路径打开
    利用asset存储mesh
    获取输入的键
    2013 Visual Studio Magazine读者选择奖界面框架类获奖情况
    DevExpress VCL 13.1.4支持Delphi /C++Builder XE5
    DevExpress更新至13.1.7
    转:与Microsoft Visual Studio集成良好的第三方工具
  • 原文地址:https://www.cnblogs.com/zhendiao/p/5164762.html
Copyright © 2011-2022 走看看