美文网首页
iOS 微信二维码图片长按无法识别

iOS 微信二维码图片长按无法识别

作者: Abler | 来源:发表于2018-08-06 09:22 被阅读139次
1.主要解决问题
  • 微信二维码图片长按 无法识别问题解析----解决方法:设置精度为H
  • 二维码生成为失败,即[filter outputImage]=nil----如果字符串过长可能会生成失败,可以提高精度,比如设置精度为L
2.iOS原生生成二维码代码
+ (CIImage *)createQRForString:(NSString *)qrString inputCorrectionLevel:(NSString *)level{
    // 1. 创建一个二维码滤镜实例(CIFilter)
    CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    // 滤镜恢复默认设置
    [filter setDefaults];
    
    // 2. 给滤镜添加数据
    NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
    // 使用KVC的方式给filter赋值
    [filter setValue:data forKeyPath:@"inputMessage"];
    // 3.设置二维码精度
    [filter setValue:level forKey:@"inputCorrectionLevel"];
    // 4. 生成二维码
    CIImage *image = [filter outputImage];
    return image;
}
3.精度值(inputCorrectionLevel)具体区别

具体作用:
1.网上通用说法是一般用来添加logo
2.实际使用过程中发现,精度对字符串长度有影响. 当字符串过长时,精度为H时可能会生成失败

L水平 7%的字码可被修正

M水平 15%的字码可被修正

Q水平 25%的字码可被修正

H水平 30%的字码可被修正

相关文章

网友评论

      本文标题:iOS 微信二维码图片长按无法识别

      本文链接:https://www.haomeiwen.com/subject/bqkwvftx.html