亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

IOS生成與讀取二維碼名片

2020-07-26 03:29:50
字體:
來源:轉載
供稿:網友

一、概述
1、通過某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的
2、二維碼通??梢园韵聝热?br />

  • 純文本
  • 名片
  • URL

3、二維碼具有非常廣泛的應用

  • 二維碼名片
  • 掃碼付款
  • 網址(URL),掃描后自動打開網址

二、二維碼的生成
1、生成原理
通過一個類CIFilter(濾鏡)包含二維碼中所有的信息,然后生成一張二維碼圖片
二維碼中間的icon(頭像),是通過在生成的圖片上添加一張圖片實現的
2、生成步驟

  • 創建濾鏡
  • 初始化濾鏡
  • 添加二維碼信息
  • 獲取生成的二維碼圖片
  • 將二維碼圖片展示出來

3、生成的二維碼的效果圖

4、具體代碼實現
1)、通過storyboard創建兩個imageView,分別用來展示二維碼圖片和頭像

2)、擁有展示二維碼圖片的imageView

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

3)、生成二維碼

/**點擊屏幕的時候顯示二維碼*/- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{  //1.創建濾鏡  CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];  //2.恢復默認  [filter setDefaults];  //3.給濾鏡添加數據  NSString *dataString = @"http://www.xxx.com/theDesertIslandOutOfTheWorld/";//  NSString *dataString = @"世俗孤島";  //將數據轉換成NSData類型  NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding];  //通過KVC設置濾鏡的二維碼輸入信息  [filter setValue:data forKey:@"inputMessage"];  //4.獲取輸出的二維碼圖片(CIImage類型)  CIImage *outImage = [filter outputImage];  //將CIImage類型的圖片裝換成UIImage類型的圖片  UIImage *image = [UIImage imageWithCIImage:outImage];  //5.顯示二維碼圖片  self.imageView.image = image;}

4)、通過二維碼掃描工具,可以掃描生成的二維碼
若二維碼的輸入信息是URL,則會打開指定的網絡資源
三、二維碼的掃描
1、注意:

  • 二維碼掃碼需要使用攝像頭,需要真機設備
  • Xcode7可是免費真機調試

2、二維碼掃描的過程

  • 通過攝像頭掃描二維碼
  • 解析二維碼數據
  • 根據二維碼信息執行相應的操作

3、過程分析
1)、通過攝像頭掃描二維碼信息需要用到AVCaptureSession類

  • 該類是用來協調從音頻/視頻輸入端口到輸出端的數據
  • 該類需要一個輸入設備AVCaptureDeviceInput,通常是攝像頭
  • 該類需要一個輸出端,輸出指定類型的數據,有多個類可以選擇(如:AVCaptureMetadataOutput)
  • 需要調用- startRunning方法開啟輸入源

2)、通過AVCaptureSession類捕獲的數據,可以通過指定輸出端的過濾類型來以特定的類型解析捕獲的數據
3)、可以為輸出端AVCaptureMetadataOutput設置代理,來聽捕獲過程
4)、通過AVCaptureVideoPreviewLayer類將獲取的原始數據渲染到指定的圖層
4、二維碼的生成過程
通過成員屬性保存輸入源與輸出端的協調者(AVCaptureSession對象)

@property (nonatomic, weak) AVCaptureSession *session;

通過成員屬性保存展示通過輸入設備輸入的元數據的圖層,用于在適當的時候移除圖層

@property (nonatomic, weak) AVCaptureVideoPreviewLayer *layer;

創建AVCaptureSession類的對象(簡稱:捕獲對象),用于捕獲音頻/視頻端口的數據

AVCaptureSession *session = [[AVCaptureSession alloc] init];self.session = session;

給捕獲對象添加輸入設備(通常是攝像頭)

//設置輸入設備輸入數據的類型(視頻)AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];[session addInput:input];

給捕獲對象添加輸出端

AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];//設置代理[output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];[session addOutput:output];

設置輸入源的過濾條件(只獲取二維碼信息)

[output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];

將捕獲的原始數據顯示到控制器的view上

AVCaptureVideoPreviewLayer *layer = [AVCaptureVideoPreviewLayer layerWithSession:session];layer.frame = self.view.bounds;[self.view.layer addSublayer:layer];

開始獲取數據

[session startRunning];

實現輸出端的代理方法,監聽捕獲過程

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection{  if (metadataObjects.count > 0)  {    //獲取輸出端的信息    AVMetadataMachineReadableCodeObject *object = [metadataObjects lastObject];    NSLog(@"%@", object.stringValue);    //停止掃描    [self.session stopRunning];    //將展示圖層移除    [self.layer removeFromSuperlayer];  }  else  {    NSLog(@"沒有掃描到數據");  }}

以上就是IOS二維碼名片生成與讀取的詳細代碼介紹,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区二区| 久久精品国产亚洲7777| 成人xvideos免费视频| 青青草精品毛片| www.久久久久久.com| 国产亚洲精品一区二555| 在线丨暗呦小u女国产精品| 日韩欧美在线网址| 欧美性xxxx| 久久亚洲私人国产精品va| 亚洲无线码在线一区观看| 亚洲精品美女在线| 综合136福利视频在线| 日韩av色在线| 97精品视频在线| 亚洲欧美综合区自拍另类| 成人疯狂猛交xxx| 亚洲男人的天堂在线播放| 精品视频在线观看日韩| 国产a级全部精品| 岛国视频午夜一区免费在线观看| 国产精品视频一区二区三区四| 97香蕉久久夜色精品国产| 亚洲精品第一国产综合精品| 91sao在线观看国产| 欧美激情一区二区三区久久久| 亚洲精品欧美一区二区三区| 日韩有码在线观看| 国产精品∨欧美精品v日韩精品| 伊人久久久久久久久久久| 欧美精品成人在线| 9.1国产丝袜在线观看| 日本中文字幕不卡免费| 欧美视频在线观看 亚洲欧| 欧美日韩性视频在线| 亚洲人成网站在线播| 最近日韩中文字幕中文| 国产伊人精品在线| 色琪琪综合男人的天堂aⅴ视频| 91牛牛免费视频| 日韩av影视在线| 中文字幕精品—区二区| 国产午夜精品免费一区二区三区| 欧美在线影院在线视频| 在线观看国产精品日韩av| 国产在线视频不卡| 日韩欧美一区二区在线| 日本精品中文字幕| 国产主播喷水一区二区| 欧美电影第一页| 成人免费福利在线| 2019亚洲男人天堂| 成人黄色午夜影院| 欧美在线欧美在线| 久久福利视频网| 日本伊人精品一区二区三区介绍| 国产精品永久在线| 国产精品久久77777| 色无极亚洲影院| 亚洲成人久久久久| 91久久国产婷婷一区二区| 色偷偷噜噜噜亚洲男人| 5566日本婷婷色中文字幕97| 国产精品免费久久久久久| 欧美性生交大片免网| 18久久久久久| 精品丝袜一区二区三区| 欧美放荡办公室videos4k| 91午夜在线播放| 久久99精品久久久久久青青91| 日韩电视剧在线观看免费网站| 91精品久久久久久久久青青| 国产精品三级网站| 精品国产一区二区三区久久久狼| 亚洲色图50p| 九九热最新视频//这里只有精品| 日韩精品在线观看一区| 欧美性色19p| 日韩欧美一区二区三区| 久久男人av资源网站| 亚洲人成电影网| 亚洲毛片在线观看.| 亚洲第一页在线| 色综合久久久久久中文网| 欧美插天视频在线播放| 国产精品com| 成人日韩av在线| 国产精品欧美一区二区三区奶水| 国产精品视频午夜| 国产精品一区二区3区| 日韩大片免费观看视频播放| 97精品一区二区三区| 大伊人狠狠躁夜夜躁av一区| 国产成人亚洲综合青青| 中文字幕亚洲在线| 欧美日韩爱爱视频| 欧美成人网在线| 亚洲国产精品女人久久久| 热re99久久精品国产66热| 欧美视频在线观看免费网址| 亚洲天堂开心观看| 亚洲xxxx妇黄裸体| 亚洲第一精品电影| 国产精品久久久久久久美男| 亚洲精品电影在线观看| 久久色免费在线视频| 日韩av理论片| 国产精品久久色| 欧美日韩亚洲精品内裤| 一本色道久久88综合日韩精品| 日韩av成人在线| 亚洲人成在线电影| 国产精品爱啪在线线免费观看| 色偷偷9999www| 成人综合网网址| 日韩美女视频免费在线观看| 日韩精品欧美激情| 尤物yw午夜国产精品视频| 欧美做爰性生交视频| 成人福利网站在线观看| 九九久久国产精品| 欧美极品美女电影一区| 日韩成人中文字幕| 日韩动漫免费观看电视剧高清| 国产中文字幕日韩| 色综合久久久888| 狠狠躁天天躁日日躁欧美| 91精品在线观看视频| 青草青草久热精品视频在线观看| 红桃视频成人在线观看| 国产精品美女www爽爽爽视频| 亚洲最新av在线| 亚洲另类欧美自拍| 日本91av在线播放| 国产精品日韩欧美综合| 国产v综合ⅴ日韩v欧美大片| 青草青草久热精品视频在线网站| 日韩欧美中文字幕在线播放| 国产婷婷成人久久av免费高清| 国产精品美女在线观看| 欧美性xxxxxx| 中文字幕自拍vr一区二区三区| 国产日韩欧美另类| 美日韩在线视频| 亚洲天堂男人天堂女人天堂| 国产国语videosex另类| 亚洲系列中文字幕| 国产欧美婷婷中文| 日韩av高清不卡| 日韩精品视频三区| 91精品国产乱码久久久久久久久| 欧美激情喷水视频| 97国产精品久久| 亚洲色图13p| 国产中文字幕日韩| 91精品视频网站| 亚洲电影天堂av| 国产精品精品久久久久久| 在线视频中文亚洲| 亚洲欧美三级在线| 欧美孕妇性xx| 成人做爰www免费看视频网站| 美女视频黄免费的亚洲男人天堂| 7777免费精品视频|