博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZXing二维码
阅读量:5808 次
发布时间:2019-06-18

本文共 2042 字,大约阅读时间需要 6 分钟。

hot3.png

安装完成之后,打开Xcode

蓝色的.xcodeproj

打开白色的.xcworkspace

其中有Pods工程(里面有你需要的类库)

pod search json:进行查找cocoaPods中,是否有你想要的库

 

更改了Podfile后,需输入:pod update可看cocoapods

 

#pragma mark 编码

- (void)encoding{

    NSError *error = nil;

    ZXMultiFormatWriter *writer = [ZXMultiFormatWriter writer];

    ZXBitMatrix* result = [writer encode:@"name:zhangpengpeng  number:18049101675"

                                  format:kBarcodeFormatQRCode

                                   width:500

                                  height:500

                                   error:&error];

    if (result) {

        CGImageRef image = [[ZXImage imageWithMatrix:result] cgimage];

        

        // This CGImageRef image can be placed in a UIImage, NSImage, or written to a file.

        imageResult = [UIImage imageWithCGImage:image];

        UIImageView *result = [[UIImageView alloc]initWithFrame:CGRectMake(20, 20, 345, 345)];

        result.image = imageResult;

        [self.view addSubview:result];

    } else {

        NSString *errorMessage = [error localizedDescription];

        NSLog(@"出错:%@",errorMessage);

    }

}

 

#pragma mark 解码

- (void)decoding{

    CGImageRef imageToDecode = [imageResult CGImage];  // Given a CGImage in which we are looking for barcodes

    

    ZXLuminanceSource *source = [[ZXCGImageLuminanceSource alloc] initWithCGImage:imageToDecode];

    ZXBinaryBitmap *bitmap = [ZXBinaryBitmap binaryBitmapWithBinarizer:[ZXHybridBinarizer binarizerWithSource:source]];

    

    NSError *error = nil;

    

    // There are a number of hints we can give to the reader, including

    // possible formats, allowed lengths, and the string encoding.

    ZXDecodeHints *hints = [ZXDecodeHints hints];

    

    ZXMultiFormatReader *reader = [ZXMultiFormatReader reader];

    ZXResult *result = [reader decode:bitmap

                                hints:hints

                                error:&error];

    if (result) {

        // The coded result as a string. The raw data can be accessed with

        // result.rawBytes and result.length.

        NSString *contents = result.text;

        NSLog(@"二维码结果:%@",contents);

        // The barcode format, such as a QR code or UPC-A

        ZXBarcodeFormat format = result.barcodeFormat;

        NSLog(@"该码格式为:%u", format);

    } else {

        // Use error to determine why we didn't get a result, such as a barcode

        // not being found, an invalid checksum, or a format inconsistency.

    }

}

转载于:https://my.oschina.net/6104zhang/blog/748729

你可能感兴趣的文章
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>
Webpack入门教程三十
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Kali linux virtualbox rc=1908 错误解决办法
查看>>
Erlang学习总结之Erlang语法中的逗号(,)、分号(;),句号(.)的正确用法...
查看>>
linux软件包管理之三(源代码安装)
查看>>
数据库三范式是什么?
查看>>
[转载]设置Ubuntu自动连接无线,无须再输入密钥环和无线密码
查看>>
九叔Xen App测试报告
查看>>
Apache配置
查看>>
Ext gridPanel 单元格数据的渲染
查看>>
Android SDK 的下载代理
查看>>
Method Swizzling对Method的要求
查看>>
佛祖保佑,永不宕机
查看>>
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
LNMP一键安装
查看>>
SQL Server数据库概述
查看>>
Linux 目录结构及内容详解
查看>>
startx命令--Linux命令应用大词典729个命令解读
查看>>