iOS FuniOS技术

使用iOS原生的CIFilter生成二维码和条形码

2016-07-26  本文已影响4392人  清弄古语

使用CIFilter可以不引入任何第三方库,就可以生成想要的二维码和条形码,今天简单的介绍一下使用CIFilter生成二维码和条形码。系统CIFilter生成的二维码和条形码的大小有时并不能满足需求,直接使用起来,二维码图片看起来有些模糊,这就需要我们手动的根据目标大小重新生成清晰的二维码和条形码。

1.生成二维码(iOS7.0以上支持)

/**
 *  生成二维码
 */
- (IBAction)generateQRCode:(id)sender {
    CIImage *ciImage = [self generateQRCodeImage:@"http://www.baidu.com"];
    _qRCodeImageView.image = [self resizeCodeImage:ciImage withSize:CGSizeMake(200, 200)];
}
/**
 *  二维码图片
 *
 *  @param source
 *
 *  @return CIImage 对象
 */
- (CIImage *)generateQRCodeImage:(NSString *)source
{
    NSData *data = [source dataUsingEncoding:NSUTF8StringEncoding];
    CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    [filter setValue:data forKey:@"inputMessage"];
    [filter setValue:@"Q" forKey:@"inputCorrectionLevel"];
    
    return filter.outputImage;
}```
**2. 生成条形码 (iOS8.0以上 支持)**

/**

**3. 生成自定义的二维码和条形码的大小**

/**

**4.运行结果**

![二维码和条形码.png](http:https://img.haomeiwen.com/i2167500/7bd611cb84c3165a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

以上就是使用iOS系统原生的CIFilter生成二维码和条形码,对于生成二维码和条形码时,CIFilter的参数的定义可以参考官方文档。
上一篇 下一篇

猜你喜欢

热点阅读