www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 最近在做的項目中需要用到二維碼掃描功能,之前在Android中使用過ZXing識別二維碼,ZXing也有對應(yīng)的iOS版本,經(jīng)過了解,ZBar也是一個常用的二維碼識別軟件,并分別提供了i

 最近在做的項目中需要用到二維碼掃描功能,之前在Android中使用過ZXing識別二維碼,ZXing也有對應(yīng)的iOS版本,經(jīng)過了解,ZBar也是一個常用的二維碼識別軟件,并分別提供了iOS和Android的SDK可供使用,最終我選擇了ZBar進行二維碼識別,它的注釋清晰,便于使用。

ZBar為我們提供了兩種使用方式,一種是直接調(diào)用ZBar提供的ZBarReaderViewController打開一個掃描界面,另一種方式 是使用ZBar提供的可以嵌在其他視圖中的ZBarReaderView,實際項目中我們更可能會使用第二種方式,這可以讓我們對界面做更多的定制。

ZBar使用起來也非常簡單,將ZBarSDK導入項目,在需要使用ZBar的文件中導入ZBarSDK.h頭文件即可,以下是ZBarReaderView的初始化方法:

01 ZBarReaderView readerView = [[ZBarReaderView alloc]init];
02 readerView.frame = CGRectMake(0, 44, self.view.frame.size.width, self.view.frame.size.height - 44);
03 readerView.readerDelegate = self;
04 //關(guān)閉閃光燈
05 readerView.torchMode = 0;
06 //掃描區(qū)域
07 CGRect scanMaskRect = CGRectMake(60, CGRectGetMidY(readerView.frame) - 126, 200, 200);
08     
09 //處理模擬器
10 if (TARGET_IPHONE_SIMULATOR) {
11     ZBarCameraSimulator *cameraSimulator
12         = [[ZBarCameraSimulator alloc]initWithViewController:self];
13     cameraSimulator.readerView = readerView;
14 }
15 [self.view addSubview:readerView];
16 //掃描區(qū)域計算
17 readerView.scanCrop = [self getScanCrop:scanMaskRect readerViewBounds:self.readerView.bounds];
18  
19 [readerView start];

以上代碼需要說明的有以下幾點:

閃光燈設(shè)置

我不希望在掃描二維碼時開啟閃光燈,所以將ZBarReaderView的torchMode設(shè)為0,你可以將它設(shè)置為其他任何合適的值。

掃描區(qū)域計算

這點比較重要,我們常用的二維碼掃描軟件的有效掃描區(qū)域一般都是中央?yún)^(qū)域,其他部分是不 進行掃描的,ZBar可以通過ZBarReaderView的scanCrop屬性設(shè)置掃描區(qū)域,它的默認值是CGRect(0, 0, 1, 1),表示整個ZBarReaderView區(qū)域都是有效的掃描區(qū)域。我們需要把掃描區(qū)域坐標計算為對應(yīng)的百度分數(shù)坐標,也就是以上代碼中調(diào)用的 getScanCrop:readerViewBounds方法,親測沒有問題,如下所示:

01 -(CGRect)getScanCrop:(CGRect)rect readerViewBounds:(CGRect)readerViewBounds
02 {
03     CGFloat x,y,width,height;
04     
05     x = rect.origin.x / readerViewBounds.size.width;
06     y = rect.origin.y / readerViewBounds.size.height;
07     width = rect.size.width / readerViewBounds.size.width;
08     height = rect.size.height / readerViewBounds.size.height;
09     
10     return CGRectMake(x, y, width, height);
11 }

PS:在網(wǎng)上找到很多這個方法都是將橫坐標和縱坐標交叉,這樣是有問題的,仔細想一下就會明白。

初始化部分完成之后,就可以調(diào)用ZBarReaderView的start方法開始掃描了,需要讓你的類實現(xiàn) ZBarReaderViewDelegate協(xié)議,在掃描到二維碼時會調(diào)用delegate的對應(yīng)方法。最后,當二維碼已經(jīng)識別時候,可以調(diào)用 ZBarReaderView的stop方法停止掃描。如下所示:

1 - (void)readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image
2 {
3     for (ZBarSymbol *symbol in symbols) {
4         NSLog(@"%@", symbol.data);
5         break;
6     }
7     
8     [self.readerView stop];
9 }

好了,就這么多,是不是非常簡單?

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達克上市公司優(yōu)克聯(lián)集團(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國際消費電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動網(wǎng)絡(luò)

深圳2025年9月9日 /美通社/ -- PART 01活動背景 當技術(shù)的鋒芒刺穿行業(yè)壁壘,萬物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進化"?的裂變時代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無界 商機無限"助力企業(yè)構(gòu)建全球競爭力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領(lǐng)先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應(yīng)鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當?shù)貢r間9月6日,在2025德國柏林國際電子消費品展覽會(International Funkausstellung...

關(guān)鍵字: 掃地機器人 耳機 PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠通信宣布,其自研藍牙協(xié)議棧DynaBlue率先通過藍牙技術(shù)聯(lián)盟(SIG)BQB 6.1標準認證。作為移遠深耕短距離通信...

關(guān)鍵字: 藍牙協(xié)議棧 移遠通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實黨中央、國務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達成合作,為其自主研發(fā)的"旗馭車管"車輛運營管理平臺提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運營管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學技術(shù)委員會指導,東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛
關(guān)閉