一種掃描二維碼的方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種掃描二維碼的方法和裝置,所述方法包括:應(yīng)用啟動(dòng)系統(tǒng)相機(jī);應(yīng)用通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像;應(yīng)用對獲取到的掃描框圖像進(jìn)行解碼。本發(fā)明僅對與相機(jī)預(yù)覽框中的掃描框?qū)?yīng)的包括二維碼圖像的掃描框圖像進(jìn)行解析,不需要對掃描框之外的其他圖像進(jìn)行解析,提高了解碼效率。
【專利說明】
一種掃描二維碼的方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種掃描二維碼的方法和裝置。
【背景技術(shù)】
[0002] 二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規(guī) 律在平面(二維方向上)分布的黑白相間的圖形,可以用于記錄數(shù)據(jù)符號(hào)信息,具有高密度 編碼,信息容量大,編碼范圍廣等特點(diǎn)。
[0003] 現(xiàn)有技術(shù)中,在掃描二維碼時(shí),需要用戶將二維碼圖像放置在相機(jī)的預(yù)覽框中,通 過相機(jī)的預(yù)覽框獲取到的圖像中包括二維碼圖像和二維碼圖像之外的其他圖像;在對圖像 進(jìn)行解析時(shí),需要對通過相機(jī)的預(yù)覽框獲取到的所有圖像進(jìn)行解析,使得解碼效率低、耗時(shí) 長。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種掃描二維碼的方法和裝置。
[0005] 本發(fā)明提供的一種掃描二維碼的方法,包括:
[0006] 步驟S1:應(yīng)用啟動(dòng)系統(tǒng)相機(jī);
[0007] 步驟S2:所述應(yīng)用通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖 像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在 旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像;
[0008] 步驟S3:所述應(yīng)用對獲取到的掃描框圖像進(jìn)行解碼。
[0009] 本發(fā)明提供的一種掃描二維碼的裝置,包括:啟動(dòng)模塊、第一獲取模塊和解碼模 塊;
[0010] 包括:啟動(dòng)模塊、第一獲取模塊和解碼模塊;
[0011]所述啟動(dòng)模塊,用于啟動(dòng)系統(tǒng)相機(jī);
[0012] 所述第一獲取模塊,用于當(dāng)所述啟動(dòng)模塊啟動(dòng)所述系統(tǒng)相機(jī)后,通過所述系統(tǒng)相 機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像與掃描 框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃 描框圖像;
[0013] 所述解碼模塊,用于對所述第一獲取模塊獲取到的掃描框圖像進(jìn)行解碼。
[0014] 本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):
[0015] 本發(fā)明提供的一種掃描二維碼的方法和裝置,僅對與相機(jī)預(yù)覽框中的掃描框?qū)?yīng) 的包括二維碼圖像的掃描框圖像進(jìn)行解析,不需要對掃描框之外的其他圖像進(jìn)行解析,提 高了解碼效率。
【附圖說明】
[0016] 圖1是本發(fā)明實(shí)施例1提供的一種掃描二維碼的方法的流程圖;
[0017]圖2和圖3是本發(fā)明實(shí)施例2提供的一種掃描二維碼的方法的流程圖;
[0018] 圖4是本發(fā)明實(shí)施例2中步驟114的流程圖;
[0019] 圖5為本發(fā)明實(shí)施例3提供的一種掃描二維碼的裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0020] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0021] 實(shí)施例1
[0022] 本發(fā)明的實(shí)施例1提供了一種掃描二維碼的方法,如圖1所示,包括:
[0023]步驟S1:應(yīng)用啟動(dòng)系統(tǒng)相機(jī);
[0024]步驟S1具體包括:
[0025] 應(yīng)用設(shè)置界面控制器的回調(diào),應(yīng)用創(chuàng)建相機(jī)對象;應(yīng)用根據(jù)創(chuàng)建的相機(jī)對象,獲取 當(dāng)前相機(jī)參數(shù);應(yīng)用根據(jù)相機(jī)對象,啟動(dòng)系統(tǒng)相機(jī)的相機(jī)預(yù)覽框。
[0026] 步驟S2:應(yīng)用通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將相機(jī)圖像進(jìn)行旋轉(zhuǎn),根 據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中 獲取與掃描框?qū)?yīng)的掃描框圖像;
[0027]步驟S3:應(yīng)用對獲取到的掃描框圖像進(jìn)行解碼。
[0028] 具體地,應(yīng)用對獲取到的掃描框圖像的數(shù)據(jù)進(jìn)行解碼,判斷解碼是否成功,是則確 定掃描二維碼成功,結(jié)束,否則返回步驟S2。
[0029] 本實(shí)施中,啟動(dòng)系統(tǒng)相機(jī)之前還可以包括:應(yīng)用判斷系統(tǒng)相機(jī)是否存在,如果是, 則啟動(dòng)系統(tǒng)相機(jī),執(zhí)行步驟S2;否則,結(jié)束。
[0030] 本實(shí)施例中,將相機(jī)圖像進(jìn)行旋轉(zhuǎn)之前,還包括:應(yīng)用獲取當(dāng)前屏幕的分辨率,在 系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取與當(dāng)前屏幕的分辨率最接近的值作為系統(tǒng)相機(jī)的相機(jī) 分辨率,根據(jù)相機(jī)分辨率設(shè)置相機(jī)圖像。
[0031] 其中,獲取當(dāng)前屏幕的分辨率,包括:
[0032]步驟S4-1:應(yīng)用根據(jù)系統(tǒng)提供的窗口服務(wù),獲取當(dāng)前應(yīng)用的窗體管理器對象;
[0033]步驟S4-2:應(yīng)用根據(jù)獲取到的窗體管理器對象,創(chuàng)建窗體顯示類的對象;
[0034]步驟S4-3:應(yīng)用根據(jù)創(chuàng)建的窗體顯示類的對象,獲取當(dāng)前屏幕的分辨率;
[0035]步驟S4-4:應(yīng)用判斷當(dāng)前屏幕的分辨率中的屬性x的值是否小于屬性y的值,是則 將當(dāng)前屏幕的分辨率中的屬性x的值與屬性y的值進(jìn)行交換,確定獲取到當(dāng)前屏幕的分辨 率,否則確定獲取到當(dāng)前屏幕的分辨率。
[0036] 其中,在系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取與當(dāng)前屏幕的分辨率最接近的值作為 相機(jī)分辨率,包括:
[0037] 步驟A01:應(yīng)用初始化相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)、第一差值和計(jì)數(shù)器; [0038]步驟A02:應(yīng)用根據(jù)第二預(yù)設(shè)字符串,獲取模板類的對象;
[0039]步驟A03:應(yīng)用根據(jù)獲取到的模板類的對象,將當(dāng)前相機(jī)支持的預(yù)覽圖尺寸分割為 預(yù)覽圖尺寸字符串?dāng)?shù)組;
[0040] 步驟A04:應(yīng)用判斷計(jì)數(shù)器的值是否大于預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù),是 則執(zhí)行步驟A12,否則執(zhí)行步驟A05;
[0041] 步驟A05:應(yīng)用在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸 字符串,即當(dāng)前預(yù)覽圖尺寸;
[0042]步驟A06:應(yīng)用獲取第三預(yù)設(shè)字符串在當(dāng)前預(yù)覽圖尺寸中的位置作為分割位置; [0043]步驟A07:應(yīng)用在當(dāng)前預(yù)覽圖尺寸中獲取分割位置及分割位置之前的數(shù)據(jù),根據(jù)獲 取到的數(shù)據(jù)更新相機(jī)分辨率橫坐標(biāo),應(yīng)用在當(dāng)前預(yù)覽圖尺寸中獲取分割位置之后的數(shù)據(jù), 根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率縱坐標(biāo);
[0044] 步驟A08:應(yīng)用對相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)和當(dāng)前屏幕的分辨率進(jìn)行 計(jì)算,得到當(dāng)前差值;
[0045] 步驟A09:應(yīng)用判斷當(dāng)前差值是否為0,是則執(zhí)行步驟All,否則執(zhí)行步驟A10;
[0046] 具體地,應(yīng)用計(jì)算相機(jī)分辨率橫坐標(biāo)與當(dāng)前屏幕的分辨率中的屬性x的絕對值,計(jì) 算相機(jī)分辨率縱坐標(biāo)與當(dāng)前屏幕的分辨率中的屬性y的絕對值,將兩次計(jì)算得到的絕對值 求和,得到當(dāng)前差值,判斷當(dāng)前差值是否為〇,是則執(zhí)行步驟All,否則執(zhí)行步驟A10。
[0047] 步驟A10:應(yīng)用判斷當(dāng)前差值是否小于第一差值,是則根據(jù)當(dāng)前差值更新第一差 值,更新計(jì)數(shù)器,返回步驟A04;否則更新計(jì)數(shù)器,返回步驟A04;
[0048] 步驟All:應(yīng)用判斷相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)是否均大于0,是則執(zhí) 行步驟A12,否則結(jié)束;
[0049] 步驟A12:應(yīng)用以相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)作為參數(shù),創(chuàng)建系統(tǒng)坐標(biāo) 點(diǎn)類的對象作為相機(jī)分辨率。
[0050] 本實(shí)施例中,根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位 置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像之前,還包括:應(yīng)用根據(jù)當(dāng)前應(yīng) 用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置。
[0051] 其中,根據(jù)當(dāng)前應(yīng)用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像在旋轉(zhuǎn)后的 相機(jī)圖像中的位置,包括:
[0052] 步驟B01:應(yīng)用獲取掃描框布局的左側(cè)與當(dāng)前應(yīng)用父布局的左側(cè)之間的距離作為 布局文件掃描框左頂點(diǎn)橫坐標(biāo),獲取掃描框布局的頂部與當(dāng)前應(yīng)用父布局的頂部之間的距 離作為布局文件掃描框左頂點(diǎn)縱坐標(biāo),獲取預(yù)覽框布局的寬度作為布局文件預(yù)覽框?qū)挾龋?獲取預(yù)覽框布局的高度作為布局文件預(yù)覽框高度;
[0053]步驟B02:應(yīng)用根據(jù)布局文件掃描框左頂點(diǎn)橫坐標(biāo)、布局文件預(yù)覽框?qū)挾群拖鄼C(jī)圖 像的高度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的橫坐標(biāo),根據(jù)布局文件掃描框 左頂點(diǎn)縱坐標(biāo)、布局文件預(yù)覽框高度和相機(jī)圖像的寬度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖 像中的左頂點(diǎn)的縱坐標(biāo),根據(jù)預(yù)設(shè)的布局文件掃描框?qū)挾?、相機(jī)圖像的高度和布局文件預(yù) 覽框?qū)挾鹊玫綊呙杩驁D像在旋轉(zhuǎn)后的相機(jī)圖像中的寬度,根據(jù)預(yù)設(shè)的布局文件掃描框高 度、相機(jī)圖像的寬度和布局文件預(yù)覽框高度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的高 度。
[0054]其中,掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的橫坐標(biāo)為布局文件掃描框左 頂點(diǎn)橫坐標(biāo)乘以相機(jī)圖像的高度再除以布局文件預(yù)覽框?qū)挾?掃描框圖像在旋轉(zhuǎn)后的相機(jī) 圖像中的左頂點(diǎn)的縱坐標(biāo)為布局文件掃描框左頂點(diǎn)縱坐標(biāo)乘以相機(jī)圖像的寬度再除以布 局文件預(yù)覽框高度;掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的寬度為預(yù)設(shè)的布局文件掃描框?qū)?度乘以相機(jī)圖像的高度再除以布局文件預(yù)覽框?qū)挾?掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的 高度為預(yù)設(shè)的布局文件掃描框高度乘以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高度。
[0055] 本實(shí)施例中,應(yīng)用通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,具體為:應(yīng)用設(shè)置系 統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)和預(yù)覽回調(diào),應(yīng)用通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像。
[0056] 其中,設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)和預(yù)覽回調(diào),包括:
[0057] 步驟S7-1:應(yīng)用創(chuàng)建系統(tǒng)自動(dòng)對焦回調(diào)類的自動(dòng)對焦回調(diào)對象,根據(jù)創(chuàng)建的自動(dòng) 對焦回調(diào)對象設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào);
[0058] 步驟S7-2:應(yīng)用創(chuàng)建系統(tǒng)預(yù)覽回調(diào)類對象;
[0059] 步驟S7-3:應(yīng)用根據(jù)創(chuàng)建的預(yù)覽回調(diào)類對象和相機(jī)對象,設(shè)置系統(tǒng)相機(jī)的預(yù)覽回 調(diào)。
[0060] 本實(shí)施例中,根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的位置及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中 的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像具體為:應(yīng)用根據(jù)旋轉(zhuǎn)后 的相機(jī)圖像的寬高、掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的坐標(biāo)和掃描框圖像在旋 轉(zhuǎn)后的相機(jī)圖像中的寬高,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。本實(shí) 施例中,將相機(jī)圖像進(jìn)行旋轉(zhuǎn)具體為:應(yīng)用將相機(jī)圖像順時(shí)針旋轉(zhuǎn)90度。
[0061] 本實(shí)施例提供的一種掃描二維碼的方法,僅對與相機(jī)預(yù)覽框中的掃描框?qū)?yīng)的包 括二維碼圖像的掃描框圖像進(jìn)行解析,不需要對掃描框之外的其他圖像進(jìn)行解析,提高解 碼效率。進(jìn)一步地,應(yīng)用通過獲取當(dāng)前屏幕的分辨率,在系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取 與當(dāng)前屏幕的分辨率最接近的值作為系統(tǒng)相機(jī)的相機(jī)分辨率,根據(jù)相機(jī)分辨率設(shè)置相機(jī)圖 像,可以使相機(jī)圖像與相機(jī)預(yù)覽框更匹配,進(jìn)而使掃描框圖像與掃描框更匹配,從而保證應(yīng) 用能夠在獲取到完整的二維碼圖像的同時(shí)最大限度的減少掃描框圖像中的二維碼圖像之 外的冗余數(shù)據(jù),并且還可以避免了因系統(tǒng)相機(jī)的相機(jī)分辨率過高而造成獲取到的相機(jī)圖像 的數(shù)據(jù)過大,進(jìn)而因在旋轉(zhuǎn)后的相機(jī)圖像中獲取到的掃描框圖像的數(shù)據(jù)過大而降低解碼的 效率。另外,應(yīng)用根據(jù)當(dāng)前應(yīng)用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像在旋轉(zhuǎn)后 相機(jī)圖像中的位置,能夠更精確地確定掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置,提高在 旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像的速度,進(jìn)一步的提高解碼的效率。 [0062] 實(shí)施例2
[0063] 本發(fā)明的實(shí)施例2提供了一種掃描二維碼的方法,如圖2和圖3所示,包括:
[0064] 步驟101:應(yīng)用根據(jù)預(yù)設(shè)的當(dāng)前應(yīng)用父布局的對象ID獲取當(dāng)前應(yīng)用父布局的對象, 根據(jù)預(yù)設(shè)的掃描框布局的對象ID獲取掃描框布局的對象,根據(jù)預(yù)設(shè)的界面視圖控件ID,獲 取界面視圖類的控件,即界面視圖對象;
[0065] 具體地,應(yīng)用根據(jù)預(yù)設(shè)的當(dāng)前應(yīng)用父布局的對象ID,調(diào)用系統(tǒng)方法findViewByld 方法獲取當(dāng)前應(yīng)用父布局的對象mContainer;根據(jù)預(yù)設(shè)的掃描框布局的對象ID,調(diào)用系統(tǒng) 方法;^11(1¥16¥871(1方法獲取掃描框布局的對象111〇(^1^7〇111: ;根據(jù)預(yù)設(shè)的界面視圖 SurfaceView控件ID,調(diào)用系統(tǒng)方法findviewViewByld方法獲取界面視圖SurfaceView類的 控件,獲取到的控件即為界面視圖surfaceView對象;
[0066] 步驟102:應(yīng)用通過界面視圖對象獲取界面視圖類的控件的界面控制器;
[0067] 具體地,應(yīng)用通過界面視圖surfaceView對象調(diào)用系統(tǒng)方法getHolder方法獲取界 面視圖SurfaceView類的控件的界面控制器surfaceHolder;
[0068] 步驟103:應(yīng)用創(chuàng)建界面控制器類的對象,并根據(jù)創(chuàng)建的界面控制器類的對象設(shè)置 界面控制器的回調(diào);
[0069] 具體地,應(yīng)用創(chuàng)建界面控制器SurfaceHolder. Cal lback類的對象,并將其作為參 數(shù),調(diào)用界面控制器surfaceholder中的addCal lback方法設(shè)置界面控制器的回調(diào);
[0070] 需說明的是,界面控制器SurfaceHolder.Callback類的對象中包括 surf aceCreated方法,當(dāng)應(yīng)用將界面控制器Surf aceHolder ? Cal lback類的對象作為參數(shù), 調(diào)用界面控制器surfaceholder中的addCal lback方法設(shè)置界面控制器的回調(diào)后;應(yīng)用會(huì)通 過系統(tǒng)的surfaceCreated方法接收到來自系統(tǒng)的通知。
[0071 ] 步驟104:當(dāng)應(yīng)用通過系統(tǒng)的surfaceCreated方法接收到來自系統(tǒng)的通知后,應(yīng)用 創(chuàng)建相機(jī)對象;
[0072] 具體地,當(dāng)應(yīng)用通過系統(tǒng)的surf aceCreated方法接收到來自系統(tǒng)的參數(shù) Surf aceHolder holder后,應(yīng)用判定通過系統(tǒng)的surfaceCreated方法接收到來自系統(tǒng)的通 知,應(yīng)用調(diào)用系統(tǒng)Camera類的open方法創(chuàng)建相機(jī)對象camera;
[0073] 步驟105:應(yīng)用判斷相機(jī)對象是否為空,是則結(jié)束,否則執(zhí)行步驟106;
[0074] 步驟106:應(yīng)用根據(jù)創(chuàng)建的相機(jī)對象和獲取到的界面控制器,設(shè)置系統(tǒng)相機(jī)的實(shí)時(shí) 預(yù)覽顯示;
[0075] 具體地,應(yīng)用將獲取到的界面控制器surfaceHolder作為參數(shù),調(diào)用相機(jī)對象 camera的setPreviewDisplay方法,設(shè)置系統(tǒng)相機(jī)的實(shí)時(shí)預(yù)覽顯示;
[0076]步驟107:應(yīng)用根據(jù)創(chuàng)建的相機(jī)對象,獲取當(dāng)前相機(jī)參數(shù)對象;
[0077] 具體地,應(yīng)用調(diào)用相機(jī)對象camera的getParameters方法,獲取該方法返回的 Camera. Parameters類的對象作為當(dāng)前相機(jī)參數(shù)對象parameters;
[0078]步驟108:應(yīng)用根據(jù)系統(tǒng)提供的窗口服務(wù),獲取當(dāng)前應(yīng)用的窗體管理器對象;
[0079]具體地,系統(tǒng)提供的窗口服務(wù)為Context. WIND0W_SERVICE,應(yīng)用將系統(tǒng)提供的窗 口服務(wù)作為參數(shù),調(diào)用系統(tǒng)方法getSystemService獲取當(dāng)前應(yīng)用的WindowManager類對象 作為窗體管理器對象;
[0080] 步驟109:應(yīng)用根據(jù)獲取到的窗體管理器對象,創(chuàng)建窗體顯示類的對象;
[0081 ] 具體地,應(yīng)用調(diào)用獲取到的窗體管理器對象中的getDefaultDisplay方法,倉I」建窗 體顯示Display類的對象display;
[0082]步驟110:應(yīng)用根據(jù)創(chuàng)建的窗體顯示類的對象,獲取當(dāng)前屏幕的分辨率;
[0083]具體地,應(yīng)用將當(dāng)前屏幕的分辨率對象screenResolution作為參數(shù),調(diào)用窗體顯 示Display類的對象display的getSize方法獲取當(dāng)前屏幕的分辨率,并將獲取到的當(dāng)前屏 幕的分辨率賦值給當(dāng)前屏幕的分辨率screenResolution;
[0084]例如,當(dāng)前屏幕的分辨率為1184x768;
[0085]步驟111:應(yīng)用判斷當(dāng)前屏幕的分辨率對象中的屬性x的值是否小于屬性y的值,是 則執(zhí)行步驟112,否則執(zhí)行步驟113;
[0086] 例如,當(dāng)前屏幕的分辨率對象8沈66111^8〇1111:;[011中屬性1的值為1184,當(dāng)前屏幕的 分辨率對象S c r e e n R e S 0 1 u t i 0 n中屬性y的值7 6 8,則當(dāng)前屏幕的分辨率對象 screenResolution中的屬性x的值不小于屬性y的值;
[0087] 步驟112:應(yīng)用將當(dāng)前屏幕的分辨率對象中的屬性x的值與屬性y的值進(jìn)行交換,執(zhí) 行步驟113,
[0088] 步驟113:應(yīng)用根據(jù)第一預(yù)設(shè)字符串和當(dāng)前相機(jī)參數(shù)對象,獲取當(dāng)前相機(jī)支持的預(yù) 覽圖尺寸;
[0089] 具體地,第一預(yù)設(shè)字符串為preview-size-values,應(yīng)用將第一字符串作為參數(shù), 調(diào)用當(dāng)前相機(jī)參數(shù)對象parameters的get方法獲取當(dāng)前相機(jī)支持的預(yù)覽圖尺寸 previewSizeValueString;
[0090] 例如,當(dāng)前相機(jī)支持的預(yù)覽圖尺寸previewSizeValueString為:1280x960, 1280x720,800x480,720x480,640x480,576x432,480x320,384x288,352x288,320x240, 240x160,176x144;
[0091]步驟114:應(yīng)用在當(dāng)前相機(jī)支持的預(yù)覽圖尺寸中獲取與當(dāng)前屏幕的分辨率對象最 接近的值作為相機(jī)分辨率;
[0092]例如,得到的相機(jī)分辨率為1280x720;
[0093]步驟115:應(yīng)用根據(jù)相機(jī)分辨率,設(shè)置當(dāng)前相機(jī)參數(shù)對象中的相機(jī)圖像的寬高; [0094]具體地,應(yīng)用將相機(jī)分辨率作為參數(shù),調(diào)用當(dāng)前相機(jī)參數(shù)對象parameters的 setPreviewSize方法,設(shè)置當(dāng)前相機(jī)參數(shù)對象parameters中的相機(jī)圖像的寬高;
[0095] 例如,當(dāng)前相機(jī)參數(shù)對象parameters中的相機(jī)圖像的寬高為1280x720;
[0096] 步驟116:應(yīng)用根據(jù)預(yù)設(shè)角度,設(shè)置當(dāng)前相機(jī)參數(shù)對象中的預(yù)覽圖顯示的方向;
[0097] 具體地,預(yù)設(shè)角度為90,應(yīng)用將預(yù)設(shè)角度作為參數(shù),調(diào)用當(dāng)前相機(jī)參數(shù)對象 parameters的setDisplayOrientat ion方法,設(shè)置當(dāng)前相機(jī)參數(shù)對象parameters中的預(yù)覽 圖顯示的方向;
[0098] 步驟117:應(yīng)用根據(jù)上述設(shè)置完成的當(dāng)前相機(jī)參數(shù)對象中的相機(jī)圖像的寬高和預(yù) 覽圖顯示的方向,設(shè)置系統(tǒng)相機(jī)的相機(jī)參數(shù);
[00"] 具體地,應(yīng)用將當(dāng)前相機(jī)參數(shù)對象parameters作為參數(shù),調(diào)用相機(jī)對象camera的 setParameters設(shè)置系統(tǒng)相機(jī)的相機(jī)參數(shù);
[0100]步驟118:應(yīng)用根據(jù)當(dāng)前應(yīng)用父布局的對象、掃描框布局的對象和相機(jī)圖像的寬 高,計(jì)算掃描框圖像在相機(jī)圖像中的左頂點(diǎn)的坐標(biāo)和掃描框圖像的寬高;
[01 01 ]步驟119:應(yīng)用根據(jù)相機(jī)對象,啟動(dòng)相機(jī)預(yù)覽框;
[01 02 ] 具體地,應(yīng)用調(diào)用相機(jī)對象camera的s tar tPre v i ew方法啟動(dòng)相機(jī)預(yù)覽框;
[0103] 步驟120:應(yīng)用創(chuàng)建系統(tǒng)自動(dòng)對焦回調(diào)類的自動(dòng)對焦回調(diào)對象,根據(jù)創(chuàng)建的自動(dòng)對 焦回調(diào)對象設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào);
[0104] 具體地,應(yīng)用將創(chuàng)建的自動(dòng)對焦回調(diào)對象autoFocusCallback作為參數(shù),調(diào)用相機(jī) 對象camera的autoFocus方法為系統(tǒng)相機(jī)設(shè)置自動(dòng)對焦回調(diào);
[0105] 需說明的是,自動(dòng)對焦回調(diào)對象autoFocusCallback中包括onAutoFocus方法,當(dāng) 應(yīng)用將創(chuàng)建的自動(dòng)對焦回調(diào)對象autoFocusCallback作為參數(shù),調(diào)用相機(jī)對象camera的 autoFocus方法為系統(tǒng)相機(jī)設(shè)置自動(dòng)對焦回調(diào)后,應(yīng)用會(huì)通過系統(tǒng)的onAutoFocus方法接收 到來自系統(tǒng)的通知。
[0106]步驟121:當(dāng)應(yīng)用通過系統(tǒng)的onAutoFocus方法接收到來自系統(tǒng)的通知后,應(yīng)用創(chuàng) 建系統(tǒng)預(yù)覽回調(diào)類對象;
[0107]具體地,當(dāng)應(yīng)用通過系統(tǒng)的onAutoFocus方法接收到來自系統(tǒng)的參數(shù)success,和 camera后,應(yīng)用判定通過系統(tǒng)的onAutoFocus方法接收到來自系統(tǒng)的通知,應(yīng)用創(chuàng)建系統(tǒng)預(yù) 覽回調(diào)類 PreviewCal lback 類的對象 previewCal lback;
[0108] 步驟122:應(yīng)用根據(jù)創(chuàng)建的預(yù)覽回調(diào)類對象和相機(jī)對象,設(shè)置系統(tǒng)相機(jī)的預(yù)覽回 調(diào);
[0109] 具體地,應(yīng)用將創(chuàng)建的預(yù)覽回調(diào)類PreviewCal lback的對象previewCal lback作為 參數(shù),調(diào)用相機(jī)對象camera的setOneShotPreviewCallback方法為系統(tǒng)相機(jī)設(shè)置預(yù)覽回調(diào); [0110] 需說明的是,預(yù)覽回調(diào)類對象previewCal lback中包括onPreviewFrame方法,當(dāng)應(yīng) 用將創(chuàng)建的預(yù)覽回調(diào)類PreviewCal lback的對象previewCal lback作為參數(shù),調(diào)用相機(jī)對象 camera的setOneShotPreviewCallback方法為系統(tǒng)相機(jī)設(shè)置預(yù)覽回調(diào)后,應(yīng)用會(huì)通過系統(tǒng) 的onPreviewFrame方法接收到來自系統(tǒng)的通知。
[0111 ] 步驟123:當(dāng)應(yīng)用通過系統(tǒng)的onPreviewFrame方法接收到來自系統(tǒng)的通知后,應(yīng)用 從onPr e v i e wFr ame方法的參數(shù)中獲取相機(jī)圖像;
[0112] 具體地,當(dāng)應(yīng)用通過系統(tǒng)的onPreviewFrame方法接收到來自系統(tǒng)的參數(shù)data和 earner后,應(yīng)用判定通過系統(tǒng)的onPreviewFrame方法接收到來自系統(tǒng)的通知,應(yīng)用從 onPr e v i ewFrame方法的參數(shù)data中獲取相機(jī)圖像。
[0113]本實(shí)施例中,圖像均以數(shù)據(jù)的形式存在。
[0114]例如,應(yīng)用獲取到的相機(jī)圖像數(shù)據(jù)data為:
[0116] 步驟124:應(yīng)用將獲取到的相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)相機(jī)圖像的寬高得到旋轉(zhuǎn)后的 相機(jī)圖像的寬高;
[0117] 具體地,應(yīng)用將獲取到的相機(jī)圖像順時(shí)針旋轉(zhuǎn)90度,將相機(jī)圖像的寬高相互交換 作為旋轉(zhuǎn)后的相機(jī)圖像的寬高;
[0118] 更加具體地,應(yīng)用按照預(yù)設(shè)方法對獲取到的相機(jī)圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,使相機(jī)圖 像順時(shí)針旋轉(zhuǎn)90度,并使相機(jī)圖像的寬高相互交換作為旋轉(zhuǎn)后的相機(jī)圖像的寬高。
[0119] 其中,預(yù)設(shè)方法可以具體為:
[0120] for (int. y 二 0; y〈..height; y++) { for (int x = 0; x < width; x++) r〇.tatc.dI)at:a[x .承 height + ..height - y - 1] .= data[.x + y 氺 width];
[0121] },其中,height為旋轉(zhuǎn)前的相機(jī)圖像的高(720),width為旋轉(zhuǎn)前的相機(jī)圖像的寬 (1280); data為旋轉(zhuǎn)前的相機(jī)圖像的數(shù)據(jù),rotatedData為旋轉(zhuǎn)后的相機(jī)圖像的數(shù)據(jù)。
[0122] 例如,轉(zhuǎn)換后的相機(jī)圖像的數(shù)據(jù)為:
[0124] 其中,相機(jī)圖像的寬高為1280x720,旋轉(zhuǎn)后的相機(jī)圖像的寬高為720x1280;
[0125] 步驟125:應(yīng)用根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的寬高、掃描框圖像在相機(jī)圖像中的左頂點(diǎn) 的坐標(biāo)和掃描框圖像的寬高,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像,對 獲取到的掃描框圖像進(jìn)行解碼;
[0126] 具體地,應(yīng)用根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的寬高、布爾值常量true、掃描框圖像的左頂 點(diǎn)橫坐標(biāo)x、掃描框圖像在相機(jī)圖像中的左頂點(diǎn)縱坐標(biāo)y和掃描框圖像的寬高,在旋轉(zhuǎn)后的 相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像,對獲取到的掃描框圖像進(jìn)行解碼;
[0127] 例如,旋轉(zhuǎn)后的相機(jī)圖像的寬為720,旋轉(zhuǎn)后的相機(jī)圖像的高為1280,掃描框圖像 的左頂點(diǎn)橫坐標(biāo)x為172,掃描框圖像的左頂點(diǎn)縱坐標(biāo)y為225,掃描框圖像的寬為187,掃描 框圖像的高為225;
[0128]更加具體地,應(yīng)用使用旋轉(zhuǎn)后的相機(jī)圖像的寬高、布爾值常量true、掃描框圖像的 左頂點(diǎn)橫坐標(biāo)x、掃描框圖像在相機(jī)圖像中的左頂點(diǎn)縱坐標(biāo)y和掃描框圖像的寬高,調(diào)用系 統(tǒng)方法在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像,對獲取到的掃描框圖像進(jìn) 行解碼。
[0129] 本步驟中,系統(tǒng)方法包括但不限于:zbar_image_set_crop()。
[0130] 步驟126:應(yīng)用判斷解碼是否成功,是則確定掃描二維碼成功,結(jié)束,否則返回步驟 120;
[0131] 本實(shí)施例中,步驟114中應(yīng)用在當(dāng)前相機(jī)支持的預(yù)覽圖尺寸中獲取與當(dāng)前屏幕的 分辨率對象最接近的值作為相機(jī)分辨率,如圖4所示,具體為:
[0132] 步驟A01:應(yīng)用初始化相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)和第一差值;
[0133] 例如,相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)的初始值均為0,第一差值的初始值 為第一預(yù)設(shè)值 Integer .MAX_VALUE;例如,第一預(yù)設(shè)值 Integer .MAX_VALUE 為 3354191829;
[0134] 步驟A02:應(yīng)用根據(jù)第二預(yù)設(shè)字符串,獲取模板類的對象;
[0135] 具體地,第二預(yù)設(shè)字符串為",",應(yīng)用將第二預(yù)設(shè)字符串作為參數(shù),調(diào)用 Pattern, compile方法獲取模板Pattern類的對象,即模板Pattern類的對象為",";
[0136] 步驟A03:應(yīng)用根據(jù)獲取到的模板類的對象,將當(dāng)前相機(jī)支持的預(yù)覽圖尺寸分割為 預(yù)覽圖尺寸字符串?dāng)?shù)組;
[0137] 具體地,應(yīng)用將當(dāng)前相機(jī)支持的預(yù)覽圖尺寸 調(diào)用模板P a 11 e r n類的對象的s p 1 i t方法,將當(dāng)前相機(jī)支持的預(yù)覽圖尺寸 previewSizeValueString分割成預(yù)覽圖尺寸字符串?dāng)?shù)組;
[0138] 例如,當(dāng)前相機(jī)支持的預(yù)覽圖尺寸previewSizeValueString為:1280x960, 1280x720,800x480,720x480,640x480,576x432,480x320,384x288,352x288,320x240, 240x160,176x144,分割得到的預(yù)覽圖尺寸字符串?dāng)?shù)組為: 1280x960 1280x720 800x480 720x480 640x480 576x432
[0139] 480x320 384x288 352x288 320x240 240x160 176x144
[0140] 步驟A04:應(yīng)用初始化計(jì)數(shù)器;
[0141] 例如,計(jì)數(shù)器的初始值為0;
[0142] 步驟A05:應(yīng)用判斷計(jì)數(shù)器的值是否大于預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù),是 則執(zhí)行步驟A13,否則執(zhí)行步驟A06;
[0143] 例如,預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù)為12;
[0144] 步驟A06:應(yīng)用在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸 字符串,即當(dāng)前預(yù)覽圖尺寸;
[0145] 具體地,應(yīng)用在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸字 符串,倉ll建字符串String類的對象,即當(dāng)前預(yù)覽圖尺寸對象previewSize;
[0146] 步驟A07:應(yīng)用獲取第三預(yù)設(shè)字符串在當(dāng)前預(yù)覽圖尺寸對象中的位置作為分割位 置;
[0147] 具體地,第三預(yù)設(shè)字符串為"X",應(yīng)用將第三預(yù)設(shè)字符串作為參數(shù),調(diào)用當(dāng)前預(yù)覽 圖尺寸對象previewSize的indexOf方法,獲取第三預(yù)設(shè)字符串在當(dāng)前預(yù)覽圖尺寸對象 previewSize 中的分割位置 dimPosition;
[0148] 例如,當(dāng)前預(yù)覽圖尺寸對象previewView為1280x960,獲取到的分割位置 dimPosition為4;
[0149] 步驟A08:應(yīng)用在當(dāng)前預(yù)覽圖尺寸對象中獲取分割位置及分割位置之前的數(shù)據(jù),根 據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率橫坐標(biāo),應(yīng)用在當(dāng)前預(yù)覽圖尺寸對象中獲取分割位置之后 的數(shù)據(jù),根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率縱坐標(biāo);
[0150] 具體地,應(yīng)用將0和分割位置dimPosition作為參數(shù),調(diào)用當(dāng)前預(yù)覽圖尺寸對象 previewSize的substring方法獲取0到分割位置dimPosition上的字符串,并將獲取到的字 符串作為參數(shù)調(diào)用Integer.parselnt方法,得到int型的數(shù)據(jù),并根據(jù)得到的數(shù)據(jù)更新相機(jī) 分辨率橫坐標(biāo)newX;
[0151] 具體地,應(yīng)用將分割位置dimPosition加1作為參數(shù),調(diào)用當(dāng)前預(yù)覽圖尺寸對象 previewSize的substring方法獲取分割位置dimPosition之后的字符串,并將獲取到的字 符串作為參數(shù)調(diào)用Integer.parselnt方法,得到int型的數(shù)據(jù),并根據(jù)得到的數(shù)據(jù)更新相機(jī) 分辨率縱坐標(biāo)newY;
[0152] 例如,更新后的相機(jī)分辨率橫坐標(biāo)newX為1280,更新后的相機(jī)分辨率縱坐標(biāo)newY 為960;
[0153] 步驟A09:應(yīng)用對相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)和當(dāng)前屏幕的分辨率對象 進(jìn)行計(jì)算,得到當(dāng)前差值;
[0154] 具體地,應(yīng)用將相機(jī)分辨率橫坐標(biāo)n e w X與當(dāng)前屏幕的分辨率對象 8(^66111^8〇1111:;[011中的屬性1的差作為參數(shù),調(diào)用1&11:11.3&8方法計(jì)算兩者之間差值的絕對 值,將相機(jī)分辨率縱坐標(biāo)newY與當(dāng)前屏幕的分辨率對象screenResolution中的屬性y的差 作為參數(shù),調(diào)用Math. abs方法計(jì)算兩者之間差值的絕對值,將兩次計(jì)算得到的絕對值求和, 得到當(dāng)前差值newDiff;
[0155] 例如,相機(jī)分辨率橫坐標(biāo)newX為1280,相機(jī)分辨率縱坐標(biāo)newY為960,當(dāng)前屏幕的 分辨率對象screenResolution中屬性x的值為1184,當(dāng)前屏幕的分辨率對象 8(^66111^8〇1111:;[011中屬性7的值768 ;相機(jī)分辨率橫坐標(biāo)116¥乂與當(dāng)前屏幕的分辨率對象 8(^66111^801111:;[011中屬性1的值的差值的絕對值是96,相機(jī)分辨率縱坐標(biāo)116¥¥與當(dāng)前屏幕 的分辨率對象screenResolution中屬性y的值的差值的絕對值是192,兩次計(jì)算得到的絕對 值求和,得到的當(dāng)前差值newDif f為288;
[0156] 步驟A10:應(yīng)用判斷當(dāng)前差值是否為0,是則執(zhí)行步驟A12,否則執(zhí)行步驟All;
[0157] 步驟All:應(yīng)用判斷當(dāng)前差值是否小于第一差值,是則根據(jù)當(dāng)前差值更新第一差 值,更新計(jì)數(shù)器,返回步驟A05;否則更新計(jì)數(shù)器,返回步驟A05;
[0158] 例如,當(dāng)前差值newDiff為288,第一差值為3354191829,則當(dāng)前差值小于第一差 值,將第一差值更新為288;
[0159] 步驟A12:應(yīng)用判斷相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)是否均大于0,是則執(zhí) 行步驟A13,否則結(jié)束;
[0160] 步驟A13:應(yīng)用以相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)作為參數(shù),創(chuàng)建系統(tǒng)坐標(biāo) 點(diǎn)類的對象作為相機(jī)分辨率;
[0161] 本實(shí)施例中,步驟118中應(yīng)用根據(jù)當(dāng)前應(yīng)用父布局的對象、掃描框布局的對象和相 機(jī)圖像的寬高,計(jì)算掃描框圖像在相機(jī)圖像中的左頂點(diǎn)的坐標(biāo)和掃描框圖像的寬高,具體 為:
[0162] 步驟B01:應(yīng)用獲取掃描框布局的對象左側(cè)與當(dāng)前應(yīng)用父布局的對象左側(cè)之間的 距離作為布局文件掃描框左頂點(diǎn)橫坐標(biāo),獲取掃描框布局的對象頂部與當(dāng)前應(yīng)用父布局的 對象頂部之間的距離作為布局文件掃描框左頂點(diǎn)縱坐標(biāo),獲取預(yù)覽框布局的對象的寬度作 為布局文件預(yù)覽框?qū)挾?獲取預(yù)覽框布局的對象的高度作為布局文件預(yù)覽框高度;
[0163] 具體地,應(yīng)用調(diào)用掃描框布局的對象mCropLayout的getLeft方法,獲取掃描框布 局的對象mCropLayout左側(cè)與當(dāng)前應(yīng)用父布局的對象mContainer之間的距離,即布局文件 掃描框左頂點(diǎn)橫坐標(biāo)x;調(diào)用掃描框布局的對象mCropLayout的getTop方法,獲取掃描框布 局的對象mCropLayout頂部與當(dāng)前應(yīng)用父布局的對象mContainer之間的距離,即布局文件 掃描框左頂點(diǎn)縱坐標(biāo)y;調(diào)用預(yù)覽框布局的對象mContainer的getWidth方法,獲取預(yù)覽框布 局的對象mContainer的寬度,即布局文件預(yù)覽框?qū)挾?;調(diào)用預(yù)覽框布局的對象mContainer 象的getHeight方法,獲取預(yù)覽框布局的對象mContainer的高度,即布局文件預(yù)覽框高度;
[0164] 例如,布局文件掃描框左頂點(diǎn)橫坐標(biāo)x為184,布局文件掃描框左頂點(diǎn)縱坐標(biāo)y為 200,布局文件預(yù)覽框?qū)挾葹?68,布局文件預(yù)覽框高度為1134;
[0165] 本實(shí)施例中,布局文件預(yù)覽框與相機(jī)的預(yù)覽框?qū)?yīng),布局文件掃描框與相機(jī)的預(yù) 覽框中的掃描框?qū)?yīng)。
[0166] 需說明的是,布局文件掃描框左頂點(diǎn)的坐標(biāo)還可以是預(yù)設(shè)的。
[0167] 步驟B02:應(yīng)用根據(jù)布局文件掃描框左頂點(diǎn)橫坐標(biāo)、布局文件預(yù)覽框?qū)挾群拖鄼C(jī)圖 像的高度得到掃描框圖像在相機(jī)圖像中的左頂點(diǎn)的橫坐標(biāo),根據(jù)布局文件掃描框左頂點(diǎn)縱 坐標(biāo)、布局文件預(yù)覽框高度和相機(jī)圖像的寬度得到掃描框圖像在相機(jī)圖像中的左頂點(diǎn)的縱 坐標(biāo),根據(jù)預(yù)設(shè)的布局文件掃描框?qū)挾取⑾鄼C(jī)圖像的高度和布局文件預(yù)覽框?qū)挾鹊玫綊呙?框圖像在相機(jī)圖像中的寬度,根據(jù)預(yù)設(shè)的布局文件預(yù)覽框高度、相機(jī)圖像的寬度和布局文 件掃描框高度得到掃描框圖像在相機(jī)圖像中的高度;
[0168] 例如,布局文件掃描框左頂點(diǎn)橫坐標(biāo)x為184,布局文件掃描框左頂點(diǎn)縱坐標(biāo)y為 200,布局文件掃描框?qū)挾葹?68,布局文件掃描框高度為1134,相機(jī)圖像的高度為720,相機(jī) 圖像的寬度為1280,預(yù)設(shè)的布局文件掃描框?qū)挾群透叨染鶠?00;
[0169] 掃描框圖像的左頂點(diǎn)的橫坐標(biāo)x為布局文件掃描框左頂點(diǎn)橫坐標(biāo)x乘以相機(jī)圖像 的高度再除以布局文件預(yù)覽框?qū)挾?,即?84*720)/768得到掃描框圖像在相機(jī)圖像中的左 頂點(diǎn)的橫坐標(biāo)x為172;
[0170] 掃描框圖像的左頂點(diǎn)的縱坐標(biāo)y為布局文件掃描框左頂點(diǎn)縱坐標(biāo)y乘以相機(jī)圖像 的寬度再除以布局文件預(yù)覽框高度,即(200*1280)/1134得到掃描框圖像在相機(jī)圖像中的 左頂點(diǎn)的縱坐標(biāo)y為225;
[0171] 掃描框圖像的寬度為預(yù)設(shè)的布局文件掃描框?qū)挾瘸艘韵鄼C(jī)圖像的高度再除以布 局文件預(yù)覽框?qū)挾?,即?00*720)/768得到掃描框圖像在相機(jī)圖像中的寬度為187;
[0172] 掃描框圖像的高度為預(yù)設(shè)的布局文件掃描框高度乘以相機(jī)圖像的寬度再除以布 局文件預(yù)覽框高度,即(200*1280)/1134得到掃描框圖像在相機(jī)圖像中的高度為225。
[0173] 本實(shí)施例中提供的一種掃描二維碼的方法,能夠根據(jù)獲得的掃描框圖像在相機(jī)圖 像中的坐標(biāo)和掃描框圖像的寬高,從相機(jī)圖像中獲取到掃描框圖像,在對相機(jī)的預(yù)覽框中 的相機(jī)圖像進(jìn)行解析時(shí),僅對與掃描框?qū)?yīng)的包括有二維碼圖像的掃描框圖像進(jìn)行解析, 不需要對掃描框之外的其他圖像進(jìn)行解析,提高解碼效率。
[0174] 實(shí)施例3
[0175] 本實(shí)施例提供了一種掃描二維碼的裝置,如圖5所示,包括:啟動(dòng)模塊01、第一獲取 模塊02和解碼模塊03;
[0176]啟動(dòng)模塊01,用于啟動(dòng)系統(tǒng)相機(jī);
[0177] 其中,啟動(dòng)模塊01包括界面控制子模塊、第一創(chuàng)建子模塊、第一啟動(dòng)子模塊和第五 獲取子模塊;
[0178] 界面控制子模塊,用于設(shè)置界面控制器的回調(diào);
[0179] 第一創(chuàng)建子模塊,用于界面控制子模塊設(shè)置界面控制器的回調(diào)后,創(chuàng)建相機(jī)對象;
[0180] 第五獲取子模塊,用于根據(jù)第一創(chuàng)建子模塊創(chuàng)建的相機(jī)對象,獲取當(dāng)前相機(jī)參數(shù); [0181 ]第一啟動(dòng)子模塊,用于根據(jù)第一創(chuàng)建子模塊創(chuàng)建的相機(jī)對象,啟動(dòng)系統(tǒng)相機(jī)的相 機(jī)預(yù)覽框。
[0182] 第一獲取模塊02,用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相機(jī)后,通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽 框獲取相機(jī)圖像,將相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及與掃描框圖像在旋轉(zhuǎn)后 的相機(jī)圖像中,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像;
[0183] 解碼模塊03,用于對第一獲取模塊02獲取到的掃描框圖像進(jìn)行解碼。
[0184] 本實(shí)施例中,裝置還可以包括判斷模塊,判斷模塊用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相 機(jī)之前,判斷系統(tǒng)相機(jī)是否存在;相應(yīng)地,啟動(dòng)模塊01具體用于當(dāng)判斷模塊判定為是后,啟 動(dòng)系統(tǒng)相機(jī)。
[0185] 本實(shí)施例中,裝置還可以包括:第二獲取模塊;第二獲取模塊包括第一獲取子模 塊、第二獲取子模塊和第一設(shè)置子模塊;
[0186] 第一獲取子模塊用于當(dāng)?shù)谝猾@取模塊02將相機(jī)圖像進(jìn)行旋轉(zhuǎn)之前,獲取當(dāng)前屏幕 的分辨率;第二獲取子模塊用于在系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取與第一獲取子模塊獲 取到的當(dāng)前屏幕的分辨率最接近的值作為相機(jī)分辨率;第一設(shè)置子模塊用于根據(jù)第二獲取 子模塊獲取到的相機(jī)分辨率設(shè)置相機(jī)圖像。
[0187] 其中,第一獲取子模塊包括:第一獲取單元、第一創(chuàng)建單元、第二獲取單元和第二 判斷單元;
[0188] 第一獲取單元,用于根據(jù)系統(tǒng)提供的窗口服務(wù),獲取當(dāng)前應(yīng)用的窗體管理器對象;
[0189] 第一創(chuàng)建單元,用于根據(jù)第一獲取單元獲取到的窗體管理器對象,創(chuàng)建窗體顯示 類的對象;
[0190] 第二獲取單元,用于根據(jù)第一創(chuàng)建單元?jiǎng)?chuàng)建的窗體顯示類的對象,獲取當(dāng)前屏幕 的分辨率;
[0191] 第二判斷單元,用于判斷第二獲取單元獲取到的當(dāng)前屏幕的分辨率中的屬性x的 值是否小于屬性y的值,是則將當(dāng)前屏幕的分辨率中的屬性x的值與屬性y的值進(jìn)行交換,確 定獲取到當(dāng)前屏幕的分辨率,否則確定獲取到當(dāng)前屏幕的分辨率。
[0192] 其中,第二獲取子模塊包括:初始化單元、第三獲取單元、第一分割單元、第三判斷 單元、第二創(chuàng)建單元、第四獲取單元、第一更新單元、第一計(jì)算單元、第四判斷單元、第五判 斷單元、第六判斷單元和第三創(chuàng)建單元;
[0193] 初始化單元,用于初始化相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)、第一差值和計(jì)數(shù) 器;
[0194] 第三獲取單元,用于根據(jù)第二預(yù)設(shè)字符串,獲取模板類的對象;
[0195] 第一分割單元,用于根據(jù)第三獲取單元獲取到的模板類的對象,將當(dāng)前相機(jī)支持 的預(yù)覽圖尺寸分割為預(yù)覽圖尺寸字符串?dāng)?shù)組;
[0196] 第三判斷單元,用于判斷計(jì)數(shù)器的值是否大于預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè) 數(shù);
[0197] 第二創(chuàng)建單元,用于當(dāng)?shù)谌袛鄦卧袛嘤?jì)數(shù)器的值不大于預(yù)覽圖尺寸字符串?dāng)?shù) 組中的數(shù)據(jù)個(gè)數(shù)時(shí),在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸字符 串,即當(dāng)前預(yù)覽圖尺寸;
[0198] 第四獲取單元,用于獲取第三預(yù)設(shè)字符串在第二創(chuàng)建單元得到的當(dāng)前預(yù)覽圖尺寸 中的位置作為分割位置;
[0199] 第一更新單元,用于在第二創(chuàng)建單元得到的當(dāng)前預(yù)覽圖尺寸中獲取分割位置及分 割位置之前的數(shù)據(jù),根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率橫坐標(biāo),應(yīng)用在當(dāng)前預(yù)覽圖尺寸中 獲取分割位置之后的數(shù)據(jù),根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率縱坐標(biāo);
[0200] 第一計(jì)算單元,用于對第一更新單元得到的相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐 標(biāo)和當(dāng)前屏幕的分辨率進(jìn)行計(jì)算,得到當(dāng)前差值;
[0201] 第四判斷單元,用于判斷當(dāng)前差值是否為0;
[0202] 第五判斷單元,用于當(dāng)?shù)谒呐袛鄦卧袛喑霎?dāng)前差值不為0時(shí),判斷當(dāng)前差值是否 小于第一差值,是則根據(jù)當(dāng)前差值更新第一差值,更新計(jì)數(shù)器,觸發(fā)第三判斷單元進(jìn)行工 作;否則更新計(jì)數(shù)器,觸發(fā)第三判斷單元進(jìn)行工作;
[0203] 第六判斷單元,用于當(dāng)?shù)谒呐袛鄦卧袛喑霎?dāng)前差值為0時(shí),判斷相機(jī)分辨率橫坐 標(biāo)和相機(jī)分辨率縱坐標(biāo)是否均大于〇;
[0204]第三創(chuàng)建單元,用于當(dāng)?shù)谌袛鄦卧袛喑鲇?jì)數(shù)器的值大于預(yù)覽圖尺寸字符串?dāng)?shù) 組中的數(shù)據(jù)個(gè)數(shù),或者第六判斷單元判斷出相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)均大于 0時(shí),以相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)作為參數(shù),倉ll建系統(tǒng)坐標(biāo)點(diǎn)類的對象作為相 機(jī)分辨率。
[0205] 進(jìn)一步地,第一計(jì)算單元,具體用于計(jì)算相機(jī)分辨率橫坐標(biāo)與當(dāng)前屏幕的分辨率 中的屬性X的絕對值,計(jì)算相機(jī)分辨率縱坐標(biāo)與當(dāng)前屏幕的分辨率中的屬性y的絕對值,將 兩次計(jì)算得到的絕對值求和,得到當(dāng)前差值。
[0206] 本實(shí)施例中,裝置還可以包括:第一計(jì)算模塊;
[0207]第一計(jì)算模塊用于在第一獲取模塊02根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在旋 轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像之前, 根據(jù)當(dāng)前應(yīng)用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的 位置。
[0208] 第一計(jì)算模塊包括:第五獲取單元和第二計(jì)算單元;
[0209] 第五獲取單元,用于獲取掃描框布局的左側(cè)與當(dāng)前應(yīng)用父布局的左側(cè)之間的距離 作為布局文件掃描框左頂點(diǎn)橫坐標(biāo),獲取掃描框布局的頂部與當(dāng)前應(yīng)用父布局的頂部之間 的距離作為布局文件掃描框左頂點(diǎn)縱坐標(biāo),獲取預(yù)覽框布局的寬度作為布局文件預(yù)覽框?qū)?度;獲取預(yù)覽框布局的高度作為布局文件預(yù)覽框高度;
[0210] 第二計(jì)算單元,用于根據(jù)第五獲取單元獲取到的布局文件掃描框左頂點(diǎn)橫坐標(biāo)、 布局文件預(yù)覽框?qū)挾群拖鄼C(jī)圖像的高度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn) 的橫坐標(biāo),根據(jù)第五獲取單元獲取到的布局文件掃描框左頂點(diǎn)縱坐標(biāo)、布局文件預(yù)覽框高 度和相機(jī)圖像的寬度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的縱坐標(biāo),根據(jù)預(yù)設(shè) 的布局文件掃描框?qū)挾?、相機(jī)圖像的高度和第五獲取單元獲取到的布局文件預(yù)覽框?qū)挾鹊?到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的寬度,根據(jù)預(yù)設(shè)的布局文件掃描框高度、相機(jī)圖像 的寬度和第五獲取單元獲取到的布局文件預(yù)覽框高度得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖 像中的高度。
[0211] 進(jìn)一步地,第二計(jì)算單元,具體用于將布局文件掃描框左頂點(diǎn)橫坐標(biāo)乘以相機(jī)圖 像的高度再除以布局文件預(yù)覽框?qū)挾龋玫綊呙杩驁D像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的 橫坐標(biāo);將布局文件掃描框左頂點(diǎn)縱坐標(biāo)乘以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高 度,得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的縱坐標(biāo);將預(yù)設(shè)的布局文件掃描框 寬度乘以相機(jī)圖像的高度再除以布局文件預(yù)覽框?qū)挾龋玫綊呙杩驁D像在旋轉(zhuǎn)后的相機(jī)圖 像中的寬度;將預(yù)設(shè)的布局文件掃描框高度乘以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高 度,得到掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的高度。
[0212]本實(shí)施例中,第一獲取模塊02可以包括第三獲取子模塊、第一旋轉(zhuǎn)子模塊和第四 獲取子模塊;
[0213]第三獲取子模塊用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相機(jī)后,設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回 調(diào)和預(yù)覽回調(diào);通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像;
[0214] 第一旋轉(zhuǎn)子模塊用于將第三獲取子模塊獲取到的相機(jī)圖像進(jìn)行旋轉(zhuǎn);
[0215] 第四獲取子模塊,用于根據(jù)系統(tǒng)相機(jī)的相機(jī)分辨率和相機(jī)預(yù)覽框中的掃描框位 置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。
[0216] 進(jìn)一步地,第三獲取子模塊包括:第一設(shè)置單元、第四創(chuàng)建單元、第二設(shè)置單元和 第六獲取單元;
[0217] 第一設(shè)置單元,用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相機(jī)后,創(chuàng)建系統(tǒng)自動(dòng)對焦回調(diào)類的 自動(dòng)對焦回調(diào)對象,根據(jù)創(chuàng)建的自動(dòng)對焦回調(diào)對象設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào);
[0218] 第四創(chuàng)建單元,用于當(dāng)?shù)谝辉O(shè)置單元設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)后,創(chuàng)建系統(tǒng) 預(yù)覽回調(diào)類對象;
[0219] 第二設(shè)置單元,用于根據(jù)第四創(chuàng)建單元?jiǎng)?chuàng)建的預(yù)覽回調(diào)類對象和相機(jī)對象,設(shè)置 系統(tǒng)相機(jī)的預(yù)覽回調(diào);
[0220] 第六獲取單元,用于當(dāng)?shù)诙O(shè)置單元設(shè)置系統(tǒng)相機(jī)的預(yù)覽回調(diào)后,通過系統(tǒng)相機(jī) 的相機(jī)預(yù)覽框獲取相機(jī)圖像。
[0221]本實(shí)施例中,第一獲取模塊02可以具體用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相機(jī)后,通過 系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的寬 高、掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的坐標(biāo)和掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像 中的寬高,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。
[0222]本實(shí)施例中,第一獲取模塊02還可以具體用于當(dāng)啟動(dòng)模塊01啟動(dòng)系統(tǒng)相機(jī)后,通 過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將相機(jī)圖像順時(shí)針旋轉(zhuǎn)90度,根據(jù)旋轉(zhuǎn)后的相機(jī) 圖像及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?應(yīng)的掃描框圖像。
[0223]本實(shí)施例中,解碼模塊03,具體用于對第一獲取模塊02獲取到的掃描框圖像的數(shù) 據(jù)進(jìn)行解碼,判斷解碼是否成功,是則確定掃描二維碼成功;相應(yīng)地,第一獲取模塊02還用 于當(dāng)解碼模塊03判定為否后,通過系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將相機(jī)圖像進(jìn)行 旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相 機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。
[0224] 本實(shí)施例中提供的一種掃描二維碼的裝置,能夠根據(jù)獲得的掃描框圖像在旋轉(zhuǎn)后 的相機(jī)圖像中的坐標(biāo)和掃描框圖像的寬高,從相機(jī)的圖像中獲取到與掃描框?qū)?yīng)的掃描框 圖像,在對相機(jī)的預(yù)覽框中的圖像進(jìn)行解析時(shí),僅對與掃描框?qū)?yīng)的包括有二維碼圖像的 掃描框圖像進(jìn)行解析,不需要對掃描框之外的其他圖像進(jìn)行解析,提高解碼效率。
[0225] 以上,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種掃描二維碼的方法,其特征在于,包括: 步驟SI:應(yīng)用啟動(dòng)系統(tǒng)相機(jī); 步驟S2:所述應(yīng)用通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖像進(jìn) 行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn) 后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像; 步驟S3:所述應(yīng)用對獲取到的掃描框圖像進(jìn)行解碼。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)系統(tǒng)相機(jī)之前包括:所述應(yīng)用判 斷系統(tǒng)相機(jī)是否存在,如果是,則啟動(dòng)所述系統(tǒng)相機(jī),執(zhí)行步驟S2;否則,結(jié)束。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn)之前,還包 括:所述應(yīng)用獲取當(dāng)前屏幕的分辨率,在所述系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取與當(dāng)前屏 幕的分辨率最接近的值作為所述系統(tǒng)相機(jī)的相機(jī)分辨率,根據(jù)所述相機(jī)分辨率設(shè)置所述相 機(jī)圖像。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述獲取當(dāng)前屏幕的分辨率,包括: 步驟S4-1:所述應(yīng)用根據(jù)所述系統(tǒng)提供的窗口服務(wù),獲取當(dāng)前應(yīng)用的窗體管理器對象; 步驟S4-2:所述應(yīng)用根據(jù)獲取到的所述窗體管理器對象,創(chuàng)建窗體顯示類的對象; 步驟S4-3:所述應(yīng)用根據(jù)創(chuàng)建的所述窗體顯示類的對象,獲取當(dāng)前屏幕的分辨率; 步驟S4-4:所述應(yīng)用判斷當(dāng)前屏幕的分辨率中的屬性X的值是否小于屬性y的值,是則 將當(dāng)前屏幕的分辨率中的屬性X的值與屬性y的值進(jìn)行交換,確定獲取到當(dāng)前屏幕的分辨 率,否則確定獲取到當(dāng)前屏幕的分辨率。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中 獲取與當(dāng)前屏幕的分辨率最接近的值作為相機(jī)分辨率,包括: 步驟AO1:所述應(yīng)用初始化相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)、第一差值和計(jì)數(shù)器; 步驟A02:所述應(yīng)用根據(jù)第二預(yù)設(shè)字符串,獲取模板類的對象; 步驟A03:所述應(yīng)用根據(jù)獲取到的模板類的對象,將當(dāng)前相機(jī)支持的預(yù)覽圖尺寸分割為 預(yù)覽圖尺寸字符串?dāng)?shù)組; 步驟A04:所述應(yīng)用判斷計(jì)數(shù)器的值是否大于預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù),是 則執(zhí)行步驟A12,否則執(zhí)行步驟A05; 步驟A05:所述應(yīng)用在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸 字符串,即當(dāng)前預(yù)覽圖尺寸; 步驟A06:所述應(yīng)用獲取第三預(yù)設(shè)字符串在當(dāng)前預(yù)覽圖尺寸中的位置作為分割位置; 步驟A07:所述應(yīng)用在當(dāng)前預(yù)覽圖尺寸中獲取分割位置及分割位置之前的數(shù)據(jù),根據(jù)獲 取到的數(shù)據(jù)更新相機(jī)分辨率橫坐標(biāo),應(yīng)用在當(dāng)前預(yù)覽圖尺寸中獲取分割位置之后的數(shù)據(jù), 根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率縱坐標(biāo); 步驟A08:所述應(yīng)用對相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)和當(dāng)前屏幕的分辨率進(jìn)行 計(jì)算,得到當(dāng)前差值; 步驟A09:所述應(yīng)用判斷當(dāng)前差值是否為0,是則執(zhí)行步驟Al 1,否則執(zhí)行步驟AlO; 步驟A10:所述應(yīng)用判斷當(dāng)前差值是否小于第一差值,是則根據(jù)當(dāng)前差值更新第一差 值,更新計(jì)數(shù)器,返回步驟A04;否則更新計(jì)數(shù)器,返回步驟A04; 步驟All:所述應(yīng)用判斷相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)是否均大于0,是則執(zhí) 行步驟A12,否則結(jié)束; 步驟A12:所述應(yīng)用以相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)作為參數(shù),創(chuàng)建系統(tǒng)坐標(biāo) 點(diǎn)類的對象作為相機(jī)分辨率。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟A09具體為:所述應(yīng)用計(jì)算相機(jī)分 辨率橫坐標(biāo)與當(dāng)前屏幕的分辨率中的屬性X的差值的絕對值,計(jì)算相機(jī)分辨率縱坐標(biāo)與當(dāng) 前屏幕的分辨率中的屬性y的差值的絕對值,將兩次計(jì)算得到的絕對值求和,得到當(dāng)前差 值。7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像 在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖 像之前,還包括:所述應(yīng)用根據(jù)當(dāng)前應(yīng)用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像 在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置。8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述應(yīng)用根據(jù)當(dāng)前應(yīng)用父布局、掃描框布 局和相機(jī)圖像,計(jì)算掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,包括: 步驟BOl:應(yīng)用獲取掃描框布局的左側(cè)與當(dāng)前應(yīng)用父布局的左側(cè)之間的距離作為布局 文件掃描框左頂點(diǎn)橫坐標(biāo),獲取掃描框布局的頂部與當(dāng)前應(yīng)用父布局的頂部之間的距離作 為布局文件掃描框左頂點(diǎn)縱坐標(biāo),獲取預(yù)覽框布局的寬度作為布局文件預(yù)覽框?qū)挾?獲取 預(yù)覽框布局的高度作為布局文件預(yù)覽框高度; 步驟B02:應(yīng)用根據(jù)布局文件掃描框左頂點(diǎn)橫坐標(biāo)、布局文件預(yù)覽框?qū)挾群拖鄼C(jī)圖像的 高度得到掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的橫坐標(biāo),根據(jù)布局文件掃描框 左頂點(diǎn)縱坐標(biāo)、布局文件預(yù)覽框高度和相機(jī)圖像的寬度得到掃描框圖像在所述旋轉(zhuǎn)后的相 機(jī)圖像中的左頂點(diǎn)的縱坐標(biāo),根據(jù)預(yù)設(shè)的布局文件掃描框?qū)挾?、相機(jī)圖像的高度和布局文 件預(yù)覽框?qū)挾鹊玫綊呙杩驁D像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬度,根據(jù)預(yù)設(shè)的布局文件掃 描框高度、相機(jī)圖像的寬度和布局文件預(yù)覽框高度得到掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖 像中的高度。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像 中的左頂點(diǎn)的橫坐標(biāo)為布局文件掃描框左頂點(diǎn)橫坐標(biāo)乘以相機(jī)圖像的高度再除以布局文 件預(yù)覽框?qū)挾龋?所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的縱坐標(biāo)為布局文件掃描框左 頂點(diǎn)縱坐標(biāo)乘以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高度; 所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬度為預(yù)設(shè)的布局文件掃描框?qū)挾瘸?以相機(jī)圖像的高度再除以布局文件預(yù)覽框?qū)挾龋? 所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的高度為預(yù)設(shè)的布局文件掃描框高度乘 以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高度。10. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽 框獲取相機(jī)圖像,具體為:所述應(yīng)用設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)和預(yù)覽回調(diào),應(yīng)用通過所 述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像。11. 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)和預(yù) 覽回調(diào),包括: 步驟S7-1:應(yīng)用創(chuàng)建系統(tǒng)自動(dòng)對焦回調(diào)類的自動(dòng)對焦回調(diào)對象,根據(jù)創(chuàng)建的自動(dòng)對焦 回調(diào)對象設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào); 步驟S7-2:應(yīng)用創(chuàng)建系統(tǒng)預(yù)覽回調(diào)類對象; 步驟S7-3:應(yīng)用根據(jù)創(chuàng)建的預(yù)覽回調(diào)類對象和相機(jī)對象,設(shè)置系統(tǒng)相機(jī)的預(yù)覽回調(diào)。12. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖 像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框 圖像具體為:所述應(yīng)用根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的寬高、所述掃描框圖像在所述旋轉(zhuǎn)后的相 機(jī)圖像中的左頂點(diǎn)的坐標(biāo)和所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬高,在旋轉(zhuǎn)后 的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。13. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟Sl具體包括: 所述應(yīng)用設(shè)置界面控制器的回調(diào),所述應(yīng)用創(chuàng)建相機(jī)對象; 所述應(yīng)用根據(jù)創(chuàng)建的所述相機(jī)對象,獲取當(dāng)前相機(jī)參數(shù); 所述應(yīng)用根據(jù)所述相機(jī)對象,啟動(dòng)系統(tǒng)相機(jī)的相機(jī)預(yù)覽框。14. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn)具體為:所 述應(yīng)用將所述相機(jī)圖像順時(shí)針旋轉(zhuǎn)90度。15. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3具體包括: 所述應(yīng)用對獲取到的掃描框圖像的數(shù)據(jù)進(jìn)行解碼,判斷解碼是否成功,是則確定掃描 二維碼成功,結(jié)束,否則返回步驟S2。16. -種掃描二維碼的裝置,其特征在于,包括:啟動(dòng)模塊、第一獲取模塊和解碼模塊; 所述啟動(dòng)模塊,用于啟動(dòng)系統(tǒng)相機(jī); 所述第一獲取模塊,用于當(dāng)所述啟動(dòng)模塊啟動(dòng)所述系統(tǒng)相機(jī)后,通過所述系統(tǒng)相機(jī)的 相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖 像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框 圖像; 所述解碼模塊,用于對所述第一獲取模塊獲取到的掃描框圖像進(jìn)行解碼。17. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,還包括判斷模塊,所述判斷模塊用于當(dāng) 所述啟動(dòng)模塊啟動(dòng)系統(tǒng)相機(jī)之前,判斷系統(tǒng)相機(jī)是否存在; 所述啟動(dòng)模塊具體用于當(dāng)所述判斷模塊判定為是后,啟動(dòng)系統(tǒng)相機(jī)。18. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,還包括:第二獲取模塊;所述第二獲取模 塊包括第一獲取子模塊、第二獲取子模塊和第一設(shè)置子模塊; 所述第一獲取子模塊用于當(dāng)所述第一獲取模塊將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn)之前,獲取當(dāng) 前屏幕的分辨率; 所述第二獲取子模塊用于在所述系統(tǒng)相機(jī)支持的預(yù)覽圖尺寸中獲取與所述第一獲取 子模塊獲取到的當(dāng)前屏幕的分辨率最接近的值作為相機(jī)分辨率; 所述第一設(shè)置子模塊用于根據(jù)所述第二獲取子模塊獲取到的所述相機(jī)分辨率設(shè)置相 機(jī)圖像。19. 根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第一獲取子模塊包括:第一獲取單 元、第一創(chuàng)建單元、第二獲取單元和第二判斷單元; 所述第一獲取單元,用于根據(jù)所述系統(tǒng)提供的窗口服務(wù),獲取當(dāng)前應(yīng)用的窗體管理器 對象; 所述第一創(chuàng)建單元,用于根據(jù)所述第一獲取單元獲取到的所述窗體管理器對象,創(chuàng)建 窗體顯示類的對象; 所述第二獲取單元,用于根據(jù)所述第一創(chuàng)建單元?jiǎng)?chuàng)建的所述窗體顯示類的對象,獲取 當(dāng)前屏幕的分辨率; 所述第二判斷單元,用于判斷所述第二獲取單元獲取到的當(dāng)前屏幕的分辨率中的屬性 X的值是否小于屬性y的值,是則將當(dāng)前屏幕的分辨率中的屬性X的值與屬性y的值進(jìn)行交 換,確定獲取到當(dāng)前屏幕的分辨率,否則確定獲取到當(dāng)前屏幕的分辨率。20. 根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第二獲取子模塊包括:初始化單元、 第三獲取單元、第一分割單元、第三判斷單元、第二創(chuàng)建單元、第四獲取單元、第一更新單 元、第一計(jì)算單元、第四判斷單元、第五判斷單元、第六判斷單元和第三創(chuàng)建單元; 所述初始化單元,用于初始化相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率縱坐標(biāo)、第一差值和計(jì)數(shù) 器; 所述第三獲取單元,用于根據(jù)第二預(yù)設(shè)字符串,獲取模板類的對象; 所述第一分割單元,用于根據(jù)所述第三獲取單元獲取到的模板類的對象,將當(dāng)前相機(jī) 支持的預(yù)覽圖尺寸分割為預(yù)覽圖尺寸字符串?dāng)?shù)組; 所述第三判斷單元,用于判斷計(jì)數(shù)器的值是否大于預(yù)覽圖尺寸字符串?dāng)?shù)組中的數(shù)據(jù)個(gè) 數(shù); 所述第二創(chuàng)建單元,用于當(dāng)所述第三判斷單元判斷計(jì)數(shù)器的值不大于預(yù)覽圖尺寸字符 串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù)時(shí),在預(yù)覽圖尺寸字符串?dāng)?shù)組中獲取與計(jì)數(shù)器的值對應(yīng)的預(yù)覽圖尺寸 字符串,即當(dāng)前預(yù)覽圖尺寸; 所述第四獲取單元,用于獲取第三預(yù)設(shè)字符串在所述第二創(chuàng)建單元得到的當(dāng)前預(yù)覽圖 尺寸中的位置作為分割位置; 所述第一更新單元,用于在所述第二創(chuàng)建單元得到的當(dāng)前預(yù)覽圖尺寸中獲取分割位置 及分割位置之前的數(shù)據(jù),根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率橫坐標(biāo),應(yīng)用在當(dāng)前預(yù)覽圖尺 寸中獲取分割位置之后的數(shù)據(jù),根據(jù)獲取到的數(shù)據(jù)更新相機(jī)分辨率縱坐標(biāo); 所述第一計(jì)算單元,用于對所述第一更新單元得到的相機(jī)分辨率橫坐標(biāo)、相機(jī)分辨率 縱坐標(biāo)和當(dāng)前屏幕的分辨率進(jìn)行計(jì)算,得到當(dāng)前差值; 所述第四判斷單元,用于判斷當(dāng)前差值是否為〇; 所述第五判斷單元,用于當(dāng)所述第四判斷單元判斷出當(dāng)前差值不為0時(shí),判斷當(dāng)前差值 是否小于第一差值,是則根據(jù)當(dāng)前差值更新第一差值,更新計(jì)數(shù)器,觸發(fā)所述第三判斷單元 進(jìn)行工作;否則更新計(jì)數(shù)器,觸發(fā)所述第三判斷單元進(jìn)行工作; 所述第六判斷單元,用于當(dāng)所述第四判斷單元判斷出當(dāng)前差值為〇時(shí),判斷相機(jī)分辨率 橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)是否均大于〇; 所述第三創(chuàng)建單元,用于當(dāng)所述第三判斷單元判斷出計(jì)數(shù)器的值大于預(yù)覽圖尺寸字符 串?dāng)?shù)組中的數(shù)據(jù)個(gè)數(shù),或者所述第六判斷單元判斷出相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐 標(biāo)均大于〇時(shí),以相機(jī)分辨率橫坐標(biāo)和相機(jī)分辨率縱坐標(biāo)作為參數(shù),創(chuàng)建系統(tǒng)坐標(biāo)點(diǎn)類的對 象作為相機(jī)分辨率。21. 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述第一計(jì)算單元,具體用于計(jì)算相機(jī) 分辨率橫坐標(biāo)與當(dāng)前屏幕的分辨率中的屬性X的絕對值,計(jì)算相機(jī)分辨率縱坐標(biāo)與當(dāng)前屏 幕的分辨率中的屬性y的絕對值,將兩次計(jì)算得到的絕對值求和,得到當(dāng)前差值。22. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,還包括:第一計(jì)算模塊; 所述第一計(jì)算模塊用于在所述第一獲取模塊根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在 所述旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像 之前,根據(jù)當(dāng)前應(yīng)用父布局、掃描框布局和相機(jī)圖像,計(jì)算掃描框圖像在所述旋轉(zhuǎn)后的相機(jī) 圖像中的位置。23. 根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述第一計(jì)算模塊包括:第五獲取單元 和第二計(jì)算單元; 所述第五獲取單元,用于獲取掃描框布局的左側(cè)與當(dāng)前應(yīng)用父布局的左側(cè)之間的距離 作為布局文件掃描框左頂點(diǎn)橫坐標(biāo),獲取掃描框布局的頂部與當(dāng)前應(yīng)用父布局的頂部之間 的距離作為布局文件掃描框左頂點(diǎn)縱坐標(biāo),獲取預(yù)覽框布局的寬度作為布局文件預(yù)覽框?qū)?度;獲取預(yù)覽框布局的高度作為布局文件預(yù)覽框高度; 所述第二計(jì)算單元,用于根據(jù)所述第五獲取單元獲取到的布局文件掃描框左頂點(diǎn)橫坐 標(biāo)、布局文件預(yù)覽框?qū)挾群拖鄼C(jī)圖像的高度得到掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的 左頂點(diǎn)的橫坐標(biāo),根據(jù)所述第五獲取單元獲取到的布局文件掃描框左頂點(diǎn)縱坐標(biāo)、布局文 件預(yù)覽框高度和相機(jī)圖像的寬度得到掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的 縱坐標(biāo),根據(jù)預(yù)設(shè)的布局文件掃描框?qū)挾取⑾鄼C(jī)圖像的高度和所述第五獲取單元獲取到的 布局文件預(yù)覽框?qū)挾鹊玫綊呙杩驁D像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬度,根據(jù)預(yù)設(shè)的布局 文件掃描框高度、相機(jī)圖像的寬度和所述第五獲取單元獲取到的布局文件預(yù)覽框高度得到 掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的高度。24. 根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述第二計(jì)算單元,具體用于將布局文 件掃描框左頂點(diǎn)橫坐標(biāo)乘以相機(jī)圖像的高度再除以布局文件預(yù)覽框?qū)挾?,得到所述掃描?圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的左頂點(diǎn)的橫坐標(biāo);將布局文件掃描框左頂點(diǎn)縱坐標(biāo)乘以 相機(jī)圖像的寬度再除以布局文件預(yù)覽框高度,得到所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖 像中的左頂點(diǎn)的縱坐標(biāo);將預(yù)設(shè)的布局文件掃描框?qū)挾瘸艘韵鄼C(jī)圖像的高度再除以布局文 件預(yù)覽框?qū)挾龋玫剿鰭呙杩驁D像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬度;將預(yù)設(shè)的布局文 件掃描框高度乘以相機(jī)圖像的寬度再除以布局文件預(yù)覽框高度,得到所述掃描框圖像在所 述旋轉(zhuǎn)后的相機(jī)圖像中的高度。25. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一獲取模塊包括第三獲取子模 塊、第一旋轉(zhuǎn)子模塊和第四獲取子模塊; 所述第三獲取子模塊用于當(dāng)所述啟動(dòng)模塊啟動(dòng)所述系統(tǒng)相機(jī)后,設(shè)置系統(tǒng)相機(jī)的自動(dòng) 對焦回調(diào)和預(yù)覽回調(diào);通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像; 所述第一旋轉(zhuǎn)子模塊用于將所述第三獲取子模塊獲取到的相機(jī)圖像進(jìn)行旋轉(zhuǎn); 所述第四獲取子模塊,用于根據(jù)所述系統(tǒng)相機(jī)的相機(jī)分辨率和所述相機(jī)預(yù)覽框中的掃 描框位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。26. 根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述第三獲取子模塊包括:第一設(shè)置單 元、第四創(chuàng)建單元、第二設(shè)置單元和第六獲取單元; 所述第一設(shè)置單元,用于當(dāng)所述啟動(dòng)模塊啟動(dòng)所述系統(tǒng)相機(jī)后,創(chuàng)建系統(tǒng)自動(dòng)對焦回 調(diào)類的自動(dòng)對焦回調(diào)對象,根據(jù)創(chuàng)建的自動(dòng)對焦回調(diào)對象設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào); 所述第四創(chuàng)建單元,用于當(dāng)所述第一設(shè)置單元設(shè)置系統(tǒng)相機(jī)的自動(dòng)對焦回調(diào)后,創(chuàng)建 系統(tǒng)預(yù)覽回調(diào)類對象; 所述第二設(shè)置單元,用于根據(jù)所述第四創(chuàng)建單元?jiǎng)?chuàng)建的預(yù)覽回調(diào)類對象和相機(jī)對象, 設(shè)置系統(tǒng)相機(jī)的預(yù)覽回調(diào); 所述第六獲取單元,用于當(dāng)所述第二設(shè)置單元設(shè)置系統(tǒng)相機(jī)的預(yù)覽回調(diào)后,通過所述 系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像。27. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一獲取模塊具體用于當(dāng)所述啟動(dòng) 模塊啟動(dòng)所述系統(tǒng)相機(jī)后,通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖 像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像的寬高、所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中 的左頂點(diǎn)的坐標(biāo)和所述掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的寬高,在旋轉(zhuǎn)后的相機(jī)圖 像中獲取與掃描框?qū)?yīng)的掃描框圖像。28. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述啟動(dòng)模塊包括界面控制子模塊、第 一創(chuàng)建子模塊、第一啟動(dòng)子模塊和第五獲取子模塊; 所述界面控制子模塊,用于設(shè)置界面控制器的回調(diào); 所述第一創(chuàng)建子模塊,用于所述界面控制子模塊設(shè)置界面控制器的回調(diào)后,創(chuàng)建相機(jī) 對象; 所述第五獲取子模塊,用于根據(jù)所述第一創(chuàng)建子模塊創(chuàng)建的所述相機(jī)對象,獲取當(dāng)前 相機(jī)參數(shù); 所述第一啟動(dòng)子模塊,用于根據(jù)所述第一創(chuàng)建子模塊創(chuàng)建的所述相機(jī)對象,啟動(dòng)系統(tǒng) 相機(jī)的相機(jī)預(yù)覽框。29. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一獲取模塊具體用于當(dāng)所述啟動(dòng) 模塊啟動(dòng)所述系統(tǒng)相機(jī)后,通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽框獲取相機(jī)圖像,將所述相機(jī)圖 像順時(shí)針旋轉(zhuǎn)90度,根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在所述旋轉(zhuǎn)后的相機(jī)圖像中的位 置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。30. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述解碼模塊,具體用于對所述第一獲 取模塊獲取到的掃描框圖像的數(shù)據(jù)進(jìn)行解碼,判斷解碼是否成功,是則確定掃描二維碼成 功; 所述第一獲取模塊還用于當(dāng)所述解碼模塊判定為否后,通過所述系統(tǒng)相機(jī)的相機(jī)預(yù)覽 框獲取相機(jī)圖像,將所述相機(jī)圖像進(jìn)行旋轉(zhuǎn),根據(jù)旋轉(zhuǎn)后的相機(jī)圖像及掃描框圖像在所述 旋轉(zhuǎn)后的相機(jī)圖像中的位置,在旋轉(zhuǎn)后的相機(jī)圖像中獲取與掃描框?qū)?yīng)的掃描框圖像。
【文檔編號(hào)】G06K7/14GK105930757SQ201610244863
【公開日】2016年9月7日
【申請日】2016年4月19日
【發(fā)明人】陸舟, 于華章
【申請人】飛天誠信科技股份有限公司