新聞中心

        EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 學(xué)習(xí)LabVIEW(七)——ZXing.NET解碼

        學(xué)習(xí)LabVIEW(七)——ZXing.NET解碼

        作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏

        接下來,在界面上添加“二維圖片”和“字符串顯示控件”,其中圖片控件用于顯示加載的圖像,字符串顯示控件用于輸出解碼的結(jié)果。這個(gè)界面如下圖所示:


        完整的程序框圖如下:

        程序的核心就是利用BarcodeReader的Decode方法對(duì)加載的圖像進(jìn)行解碼。
        • 解碼部分的最外層套了一個(gè)while循環(huán)(其實(shí)更像是repeat until False循環(huán),因?yàn)橥顺鲅h(huán)的條件是True);
        • 循環(huán)內(nèi)部是一個(gè)事件結(jié)構(gòu),觸發(fā)事件為路徑控件中的路徑發(fā)生變化,即每次進(jìn)行了路徑選擇之后,就會(huì)觸發(fā)這個(gè)事件結(jié)構(gòu);
        • 事件結(jié)構(gòu)內(nèi)部有一個(gè)if結(jié)構(gòu)。這里利用正則表達(dá)式對(duì)路徑(路徑和字符串不是兼容的類型,需要使用相應(yīng)的節(jié)點(diǎn)進(jìn)行顯式的類型轉(zhuǎn)換)進(jìn)行判斷,看路徑是不是以.png結(jié)尾,如果是,則執(zhí)行結(jié)構(gòu)內(nèi)部的框圖;
        • 如果路徑的確是以.png結(jié)尾,則調(diào)用BarcodeReader的Decode方法。這里使用了一個(gè)順序結(jié)構(gòu),見《學(xué)習(xí)LabVIEW(三)——觀念的轉(zhuǎn)變》,保證Decode運(yùn)行結(jié)束之后,在調(diào)用Bitmap對(duì)象的Dispose方法以釋放資源。同時(shí),將結(jié)果送至字符串顯示控件,將解碼結(jié)果呈現(xiàn)在用戶界面上。
        以上就是程序的基本流程。
        運(yùn)行效果:
        首先我們用《學(xué)習(xí)LabVIEW(一)——調(diào)用ZXing.NET》中給出的程序,生成了一個(gè)二維碼:


        將生成的二維碼截圖,保存為PNG文件。
        啟動(dòng)今天的程序,加載剛才保存的PNG文件,立刻得到了解碼結(jié)果:

        上一頁 1 2 下一頁

        關(guān)鍵詞: LabVIEWZXingNET解

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 石家庄市| 咸宁市| 钦州市| 长春市| 阳西县| 江都市| 科技| 绍兴县| 梓潼县| SHOW| 溧阳市| 龙南县| 科技| 呼图壁县| 沁源县| 加查县| 镇远县| 曲麻莱县| 芷江| 旺苍县| 昆山市| 青海省| 巴塘县| 政和县| 平定县| 大姚县| 宾阳县| 柏乡县| 攀枝花市| 安庆市| 吉木乃县| 孝昌县| 榕江县| 保定市| 郎溪县| 宜良县| 太仆寺旗| 黄冈市| 汶上县| 荔浦县| 象州县|