IOS 代码生成马赛克效果

         NSData * data = UIImagePNGRepresentation(image);
        //创建CIImage对象
        _pCIImage = [CIImage imageWithData:data];
        // 创建基于GPU的CIContext对象
        _pCIontext = [CIContext contextWithOptions: nil];
        

        // 创建过滤器

        _filter = [CIFilter filterWithName:@"CIPixellate"];
        // 设置过滤器参数
        [_filter setValue:_pCIImage forKey:kCIInputImageKey];
 
        
        // 得到过滤后的图片
        CIImage *outputImage = [_filter outputImage];
        
        // 转换图片
        CGImageRef cgimg = [_pCIontext createCGImage:outputImage fromRect:[outputImage extent]];
        UIImage *newImg = [UIImage imageWithCGImage:cgimg];
        NSData * d = UIImagePNGRepresentation(newImg);
        // 释放C对象
        CGImageRelease(cgimg);

你可能感兴趣的:(iPhone开发资料)