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]);
            
        }
        
    }

    一种找到全部效果的方法

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

  • 相关阅读:
    检测.netcore环境是否安装
    vc获取特殊路径
    vc 获取系统版本
    vs2019集成vcpkg
    vc 打开外部线程并等待结束
    cmd常用命令
    nodejs mongodb3.6.2 insertOne callback问题
    Effective Python Ver2.0_StudyNotes___getattr__、__getattribute__及__setattr__的一些知识点
    Python数据类型--集合简介
    Effective Python Ver2.0_StudyNotes_用描述符来改写需要复用的@property方法
  • 原文地址:https://www.cnblogs.com/zhendiao/p/5164762.html
Copyright © 2011-2022 走看看