二维码生成

黑白二维码

//黑白二维码生成
-(void)demo1{
    //CoreImage包含在UIKit框架中
    //获取内置的所有过滤器
    NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
    NSLog(@"%@",filters);
    //1.创建二维码过滤器
    CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    //2.设置默认值
    [qrFilter setDefaults];
    //3.打印输入的key
    NSLog(@"%@",qrFilter.inputKeys);
    /*
     inputMessage, 二维码信息
     inputCorrectionLevel 容错水平
     */
    
    //4.设置二维码的信息
    
    [qrFilter setValue:[@"无聊" dataUsingEncoding:NSUTF8StringEncoding] forKey:@"inputMessage"];
    //5.输出二维码图片
    CIImage *ciImage = qrFilter.outputImage;
    NSLog(@"%@",ciImage);
    ciImage = [ciImage imageByApplyingTransform:CGAffineTransformMakeScale(10, 10)];
    self.imageView.image = [UIImage imageWithCIImage:ciImage];
}

彩色二维码

//彩色二维码
-(void)demo2{
    //CoreImage包含在UIKit框架中
    //获取内置的所有过滤器
    NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
    NSLog(@"%@",filters);
    //1.创建二维码过滤器
    CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    //2.设置默认值
    [qrFilter setDefaults];
    //3.打印输入的key
    NSLog(@"%@",qrFilter.inputKeys);
    /*
     inputMessage, 二维码信息
     inputCorrectionLevel 容错水平
     */
    
    //4.设置二维码的信息
    
    [qrFilter setValue:[@"无聊" dataUsingEncoding:NSUTF8StringEncoding] forKey:@"inputMessage"];
    //5.输出二维码图片
    CIImage *ciImage = qrFilter.outputImage;
    NSLog(@"%@",ciImage);
    //6.获取颜色过滤器
    CIFilter *colorFilter = [CIFilter filterWithName:@"CIFalseColor"];
    //7.设置默认值
    [colorFilter setDefaults];
    NSLog(@"%@",colorFilter.inputKeys);
    /*
     inputImage 需要改变颜色的图片
     inputColor0, 前景色
     inputColor1  背景色
     */
    [colorFilter setValue:ciImage forKey:@"inputImage"];
    [colorFilter setValue:[CIColor colorWithRed:1 green:0 blue:0] forKey:@"inputColor0"];
    [colorFilter setValue:[CIColor colorWithRed:0 green:1 blue:0] forKey:@"inputColor1"];
    ciImage = colorFilter.outputImage;
    
    ciImage = [ciImage imageByApplyingTransform:CGAffineTransformMakeScale(10, 10)];
    self.imageView.image = [UIImage imageWithCIImage:ciImage];

}

二维码添加头像

//二维码添加头像
-(void)demo3{
    //CoreImage包含在UIKit框架中
    //获取内置的所有过滤器
    NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
    NSLog(@"%@",filters);
    //1.创建二维码过滤器
    CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    //2.设置默认值
    [qrFilter setDefaults];
    //3.打印输入的key
    NSLog(@"%@",qrFilter.inputKeys);
    /*
     inputMessage, 二维码信息
     inputCorrectionLevel 容错水平
     */
    
    //4.设置二维码的信息
    
    [qrFilter setValue:[@"无聊" dataUsingEncoding:NSUTF8StringEncoding] forKey:@"inputMessage"];
    //5.输出二维码图片
    CIImage *ciImage = qrFilter.outputImage;
    NSLog(@"%@",ciImage);
    ciImage = [ciImage imageByApplyingTransform:CGAffineTransformMakeScale(10, 10)];
    //6.开启图形上下文
    UIImage *uiImage = [UIImage imageWithCIImage:ciImage];
    UIGraphicsBeginImageContext(uiImage.size);
    //7.画二维码图片
    [uiImage drawInRect:CGRectMake(0, 0, uiImage.size.width, uiImage.size.height)];
    //8.画自定义图片
    UIImage *image = [UIImage imageNamed:@"picture"];
    CGFloat imageW = 100;
    CGFloat imageH = 100;
    CGFloat imageX = (uiImage.size.width - imageW) * 0.5;
    CGFloat imageY = (uiImage.size.height - imageH) * 0.5;
    [image drawInRect:CGRectMake(imageX, imageY, imageW, imageH)];
    //9.获取当前上下文中图片
    UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
    //10.关闭图形上下文
    UIGraphicsEndImageContext();
    
    self.imageView.image = finalImage;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不得不说,二维码是小日本的一个伟大发明,它密度小、信息容量大、容错能力强、成本低、制作难度低等优点,使得二维码得到...
    杰森_Jason阅读 5,730评论 8 10
  • 说到二维码,大家脑海里想必都是,黑框框套着黑点点,千篇一律。其实不然,二维码也可以很好看,下边为大家推荐几款二维码...
    安迪大叔阅读 2,784评论 3 13
  • 前面我们已经学会了iOS二维码生成相关的知识,这篇文章主要是讲解一下iOS二维码扫描相关的知识. 二维码扫描步骤 ...
    _Hal_阅读 398评论 0 1
  • 项目中经常会用到二维码,常见的二维码使用有,扫描,生成,识别,闪光灯.这个系列主要记录下二维码相关的笔记.有关二维...
    _Hal_阅读 1,322评论 0 1
  • 8月5日晨读感悟 看了今天的晨读材料,我想起了金星、汪涵、岳云鹏、……他们每一个都能说会道,口才十分犀利,一个人就...
    沈瑾瑾_9328阅读 182评论 0 0