iOS之二维码的制作与扫描

IOS之二维码的制作与扫描

   

二维码SDK的Dome“QRCode”中制作libqrencode库文件,扫描ZBarSDK库文件
1.制作二维码  /*字符转二维码
导入 libqrencode文件
添加  #import "QRCodeGenerator.h"
@property (strong , nonatomic) UIImageView* qRImageView;
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.qRImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)];
     [self.view addSubview:self.qRImageView];
}

-(IBAction)qrBtnPress:(id)sender
{
    self.qRImageView.image = [QRCodeGenerator qrImageForString:@"二维码存储的字符串信息 asddsdd" imageSize:self.qRImageView.bounds.size.width];
}
2.读取二维码信息

添加#import "ZBarSDK.h"//读二维码库

@interface ViewController : UIViewController//读二维码的代
@property (strong , nonatomic) ZBarReaderViewController* reader;
@property (strong , nonatomic) NSString* qRUrl;

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    self.qRUrl = [[NSString alloc] init];
    self.reader = [[ZBarReaderViewController alloc] init];
    self.reader.readerDelegate = self;
    self.reader.supportedOrientationsMask = ZBarOrientationMaskAll;
   
    ZBarImageScanner *scanner = self.reader.scanner;
   
    [scanner setSymbology: ZBAR_I25
                   config: ZBAR_CFG_ENABLE
                       to: 0];
    //这部分为zBarSDK文档提供的例子给出的主要的意思就是初始化ZBarReaderViewController类的对象,以及设置代理回调方法为    - (void) imagePickerController: (UIImagePickerController*) reader
   //didFinishPickingMediaWithInfo: (NSDictionary*) info
 
    self.qRImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)];
   
    [self.view addSubview:self.qRImageView];
}

//点击Button时将扫描二维码需要的照相机视图,  self.reader是(ZBarReaderViewController)类的对象
-(IBAction)QRPress:(id)sender
{
    [self presentViewController:self.reader animated:YES completion:^{
        NSLog(@"fd");
    }];
}
//这个回调方法的写法是固定,只要知道以下几点就好需要的数据是从symbol.data中取出的,因此也就需要在.h文件中声明一个字符串接受就好。在这里我在.h中声明了self.qRUrl对象进行接受,之后只要按下面的格式写就好。

- (void) imagePickerController: (UIImagePickerController*) reader
 didFinishPickingMediaWithInfo: (NSDictionary*) info
{
   
        id results =
        [info objectForKey: ZBarReaderControllerResults];
        ZBarSymbol *symbol = nil;
        for(symbol in results)
        {
            NSLog(@"symbol =%@",symbol.data);
            break;
        }
    self.qRUrl  = symbol.data;
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.qRUrl message:self.qRUrl delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
        self.qRImageView.image =
        [info objectForKey: UIImagePickerControllerOriginalImage];
       
    [self.reader dismissViewControllerAnimated:YES completion:^{
       
    }];

}

时间: 2024-12-28 00:36:11

iOS之二维码的制作与扫描的相关文章

iOS开发-二维码扫描和应用跳转

iOS开发-二维码扫描和应用跳转 序言 前面我们已经调到过怎么制作二维码,在我们能够生成二维码之后,如何对二维码进行扫描呢? 在iOS7之前,大部分应用中使用的二维码扫描是第三方的扫描框架,例如ZXing或者ZBar.使用时集成麻烦,出错也不方便调试.在iOS7之后,苹果自身提供了二维码的扫描功能,从效率上来说,原生的二维码远高于这些第三方框架.本文讲解如何使用原生框架实现二维码扫描功能,并且进行扫描后的项目跳转.ps:本期的源代码会在文章结尾给出链接 扫描相关类 二维码扫描需要获取摄像头并读取

iOS 花式二维码生成和二维码识别

iOS 原生的二维码识别非常之棒,反正比 ZXing 和 ZBar 效果都好些,所以以后打算尽量用原生的二维码识别,然后最近把原生的二维码生成也顺便做了一遍,并且在原有基础上加了一些样式参数,封了一个小库方便以后使用. 项目地址:https://github.com/EyreFree/EFQRCode EFQRCode 是一个用 Swift 编写的用来生成和识别二维码的库,它基于系统二维码生成与识别进行开发. 生成:利用输入的水印图/图标等资源生成各种艺术二维码: 识别:识别率比 iOS 原生二

二维码扫描(iOS原生二维码扫描)

一.关于二维码扫描的第三方库有很多:例如比较常用的两个 1.ZBar SDK ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,另一种方式是使用ZBar提供的可以嵌在其他视图中的ZBarReaderView,实际项目中我们更可能会使用第二种方式,这可以让我们对界面做更多的定制,详细的百度查找相关文档来看. 2.ZXing(Github镜像地址)是一个开源的条码生成和扫描库(开源协议为Apache2.0).它不但支持众多

iOS关二维码那些事

在 iOS7 以前,在iOS中实现二维码和条形码扫描,我们所知的有,两大开源组件ZBar与ZXing. 这两大组件我们都有用过,这里总结下各自的缺点: ZBar ZBar在扫描的灵敏度上,和内存的使用上相对于ZXing上都是较优的,但是对于 “圆角二维码” 的扫描确很困难.如: ZXing ZXing 是 Google Code上的一个开源的条形码扫描库,是用java设计的,连Google Glass 都在使用的.但有人为了追求更高效率以及可移植性,出现了c++ port. Github上的Ob

iOS二维码的生成与扫描

由于近期工作中遇到了个需求:需要将一些固定的字段 在多个移动端进行相互传输,所以就想到了 二维码 这个神奇的东东! 现在的大街上.连个摊煎饼的大妈 都有自己的二维码来让大家进行扫码支付.可见现在的二维码使用率多高, 不光如此,在很多的社交类的APP 基本都有扫一扫加好友这个功能吧,因此决定学一学这个神奇的东西. 查找了一些资料博客啊发现,iOS7之前 对于开发人员来说 熟悉的第三方QRCode库有: ZXingGoogle出品并开源 一直到现在都还有专人维护 是世界上使用最广的二维码库 iOS上

杨泽业:给你的网站增加二维码在线制作的新功能让你的网站无限可能

你的网站就是你的事业,你的网站能够让你实现无限可能! 今天我来给大家介绍一个新的功能,添加二维码在线制作的功能. 不得不承认,现在二维码使用的频率越来越高了,我们可以把各种的网址.文字.名片.短信.wifi.电话.邮箱等转化为二维码. 二维码在线生成器 左边一边输入,右边就自动生成了,扫码的结果,和输入的结果一致.你看看是不是很方便呢? 在线体验地址: 如果你也想添加二维码在线制作的功能的话,你可以直接在本站下载哦! 其实,网络上面有很多很多的各种功能的代码,只要你想实现的各种功能,网络上面都能

简单二维码的制作

1.这里介绍三种二维码的制作方法 现在有很多二维码的软件所有这篇博客是给大家了解一下它的一些原理: 第一种的制作需要在官网上下载zxing的一个源码文件,这个可以直接在百度可以下载的 下载好了 第一步需要的是把zxing-zxing-3.3.3//core/src//main//java//com和zxing-zxing-3.3.3//javase//src//main//java//com这两个文件复制到新建的项目中,放入到项目中这时系统会报错,这个错误我们先不管它.直接把这个项目给导出,选择

IOS使用ZBarSDK实现二维码的生成和扫描

现在二维码的使用也是越来越多,那我们在做APP的时候,有时也需要考虑二维码的生成和扫描 首先简单的讲一下二维码的生成 首先定义一个ImageView来显示生成的二维码图片 只是简单的做一下字符串转化成二维码 导入 libqrencode文件 引入头文件#import "QRCodeGenerator.h" 即可使用 imageview.image = [QRCodeGenerator qrImageForString:@"www.cnblogs.com/myselfxiaox

二维码的生成与扫描

二维码的生成与扫描 搜集了二维码的生成.扫描功能代码,扫描功能 包括了 二维码.条码的扫描,具有 360扫描的UI效果,作为二维码的工具. 下载地址:http://www.devstore.cn/code/info/519.html 源码运行截图