• IOS应用中的二维码生成和二维码扫描解析


    1,生成二维码

    下载:https://github.com/jverkoey/ObjQREncoder;解压后将源码库直接包含到项目中。
    设置头文件路径,在TARGET中buildingsettings/Header Search Paths
    在用到的类中包含头文件#import <QREncoder/QREncoder.h>
    调用UIImage* image = [QREncoderencode:@"http://www.google.com/"]生成二维码;
    2,二维码扫描
    二维码的开源库:ZBar(http://zbar.sourceforge.net/)
     
    添加ZBarSDK(http://zbar.sourceforge.net/),其中包含一个libzbar.a的静态库和头文件。
    往项目(Linked Frameworks and Libraries)中添加Framework框架以及链接库AVFoundation.framework,CoreMedia.framework,CoreVideo.framework,libiconv.dyliblibzbar.a
    工程中使用的地方引入头文件ZBarSDK.h,实现ZBarReaderViewDelegate协议。

    BarReaderView *readview = [ZBarReaderView new]; // 初始化

    readview.frame= CGRectMake(0, 0, 320, 460);  // 改变frame

    readview.readerDelegate= self;       // 设置delegate

    readview.allowsPinchZoom= NO;       // 不使用Pinch手势变

    readerView.torchMode = 0; //关闭闪光灯

    CGRectscanMaskRect = CGRectMake(60, CGRectGetMidY(readerView.frame) - 126, 200, 200);

    readerView.scanCrop = [self getScanCrop:scanMaskRectreaderViewBounds:self.readerView.bounds];//设置扫描区域

    [self.viewaddSubview:readview];

    [readview start];//启动扫描

    实现ZBarReaderViewDelegate协议

    - (void)readerView:(ZBarReaderView *)readerViewdidReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image

    {

        for (ZBarSymbol *symbol in symbols) {

            NSLog(@"%@", symbol.data);

            break;

        }

        [self.readerView stop];

    }

    中文乱码问题

    NSString *symbolStr = sym.data;

            if ([symbolStrcanBeConvertedToEncoding:NSShiftJISStringEncoding])

            {

                symbolStr = [NSStringstringWithCString:[symbolStrcStringUsingEncoding: NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];

    }

  • 相关阅读:
    Java-WebDriver模块
    Java-数据类型(八中基本数据类型)
    Java基础
    Java介绍
    Eclipse介绍
    Jmeter-服务器监控技术
    性能测试
    Jmeter-相关字段含义
    Jmeter-监听器
    Jmeter-BeanShell组件应用
  • 原文地址:https://www.cnblogs.com/417460188dy/p/3372186.html
Copyright © 2020-2023  润新知