
摘要:二維碼技術已成功通過圖像編碼解碼為網絡URL地址提供了別名,即將網絡地址轉換為二維碼圖像。在義務拍攝證件照服務活動中,本系統基于此特性提供了使用二維碼掃描方式下載獲取電子照片的功能,提高了服務效率,有一定的參考應用價值。
關鍵詞:二維碼;電子照片下載
中圖分類號:TE322;TP311 文獻標識碼:A
文章編號:1009-3044(2020)09-0208-02
1 引言
二維碼又稱二維條碼,它是用某種特定的幾何圖形按一定規律在二維方向上分布的、黑白相間的、記錄數據符號信息的圖形;在代碼編制時使用若干個與二進制相對應的幾何形體來表示文字數值信息[1-4]。二維碼在信息存儲方面具有容量大(一個二維碼可以存儲多達7089個字節)、編碼范圍廣(幾乎支持所有類型的數據,如數字、英文、日文、漢字等)、容錯能力強(對變臟和破損的適應能力強,且能從360度任意方向讀取)、譯碼可靠性高、可加密、低成本等優點[5]。二維碼的廣泛應用體現了信息化技術的快捷方便,更是得力于信息化技術的強大支撐,尤其是圖像識別技術的應用和移動終端的普及,為二維碼的廣泛使用提供了基本條件。二維碼技術已大量應用于網站跳轉、移動支付、電商推廣、防偽溯源等各種應用信息系統中,其中很大一部分應用是用于提供網絡訪問接口,即網絡地址,即便是移動支付、賬號登錄等,本質而言都是提供數據訪問接口,信息的獲取與流轉處理實際上是依賴于信息化系統提供的強大功能。
域名通過DNS為IP地址提供了別名,即將網絡訪問地址轉換為了便于記憶的文字字符,極大提高和普及了傳統互聯網的各種應用;二維碼通過圖像編碼技術為URL地址提供了別名,即將網絡訪問地址轉換為了二維碼圖像,大大推動和豐富了移動互聯網的各種應用。
2 系統簡介
為切實做好“不忘初心、牢記使命”主題教育,進一步弘揚志愿服務精神,為身邊群眾辦實事好事,筆者所在黨支部開展了義務拍攝證件照服務活動。活動原定的整體流程如下:工作人員為學校師生拍攝至少3張照片,師生排隊按順序選定照片,并登記好姓名與郵箱地址,由工作人員對該照片進行精修處理完成后,將成品登記照片發送到指定郵箱。
為了簡化該流程,減輕工作人員的工作量,方便師生獲取和下載最終的成品證件照,筆者開發設計了基于二維碼掃描的電子照片下載系統,通過該系統,師生選定好照片后,由系統生成照片的二維碼(即電子照片的下載鏈接),師生通過拍照保存好該二維碼,當工作人員對該照片精修處理完成后將其上傳到指定的鏈接地址后,師生即可通過掃描二維碼,識別并跳轉到指定的鏈接,從而下載最終的電子照片。
通過該系統,師生使用二維碼掃描的方式即可下載最終的電子照片,解決了現場排長隊的擁擠問題,大大簡化了活動服務現場的登記手續,同時也降低了手工發送電子照片的錯發、漏發概率,極大提高了服務效率,得到了師生的一致好評。該系統本質上是通過二維碼技術封裝了電子照片的下載鏈接,為師生用戶提供了便利。
3 系統設計
該系統由窗體應用程序(.EXE程序)和Web網站兩部分組成,使用.Net平臺+C#4.0完成開發。窗體應用程序負責生成電子照片的二維碼,Web網站負責提供下載服務。
窗體應用程序的界面如圖1所示,用戶可以通過單擊“選擇登記照”按鈕,在彈出的文件瀏覽對話框中選定登記照,也可以通過鼠標拖拽的方式將電子照片拖動到“登記照”圖片框中,如不滿意,可以再次選擇;選定登記照后,可通過單擊“生成二維碼”按鈕,生成該登記照的二維碼圖像,在該圖像中包含了下載鏈接,師生用戶可通過拍照的方式保存好該二維碼圖片,當工作人員在Web網站中上傳精修的電子照片后,師生用戶即可通過掃描識別保存的二維碼,完成電子照片的下載。
4 系統實現
本系統的Web網站部分較簡單,使用IIS7.0搭建Web服務器,定義好網站的電子照片目錄即可,另外須提前告知師生用戶電子照片的下載截止日期。窗體應用程序的內容稍多,重要內容如下:
登記照圖片框和二維碼圖片框均使用Winform的Picture-Box控件顯示圖像,其中登記照圖片框定義了DragOver與Drag-Drop事件實現了使用鼠標拖拽方式將圖片加載顯示到Picture-Box控件中。
在“生成二維碼”按鈕的單擊事件中,使用了開源控件ThoughtWorks.QRCode.DLL,該DLL是一個.NET組件,可用于二維碼的編碼和解碼,本系統主要用到了QRCodeEncoder類的Encode函數進行二維碼的編碼。該函數已被重載,方法簽名如下:
public virtual Bitmap Encode(string content);
public virtual Bitmap Encode(string content, Encodingencoding);
從方法簽名中可以明確看出,通過該方法可以用指定的字符集將一個字符串編碼為二維碼圖片。在本系統中要編碼的字符串即為電子照片的下載地址,即一個URL地址字符串。
為了保證各電子照片的URL地址不重復,同時防止惡意用戶通過猜測譯碼方式盜取下載電子照片,本系統中將URL地址分割為四部分組成:第1部分為URL前綴,在本系統測試期間為http://127.0.0. 1/FreePic/,在系統真正使用時將其更換為實際的URL前綴即可;第2部分由系統日期的年月日時分秒組成;第3部分為靜態整型數據NumBegin轉換為字符串,且該整數每次均自增1;第4部分由1000到9999之間的隨機數組成;具體代碼如下:
static int NumBegin= 10000;
public static string CreateUrl0
{
string strl=”http://127.0.0. 1/FreePic/”;
string str2=DateTime. Now. ToString(”VyyyMMd-dHHmmss”1:
NumBegin++; string str3= NumBegin.ToString0;
int seed= unchecked((int)(DateTime.Now.Ticks>>4));
Random r=new Random(seed);
string str4= r.Next(1000, 9999).ToString0;
retum String. Format(”{0)(1}(2}(3n strl, str2, str3,str4);
)
此外在活動服務現場中,該窗體應用程序可能會在多臺計算機中運行,可以臨時設置每個應用程序中的NumBegin初值,比如第一臺計算機中,該系統的NumBegin初值為10000,在第二臺計算機中可設置為20000,其余依此類推。
5 應用與總結
基于二維碼掃描的電子照片下載系統在本次活動中應用良好,大大節省了師生的排隊登記時間,豐富了電子照片的下載獲取途徑,體現了信息技術在平時工作中與生活中的應用。本系統的設計與實現思路也可用于與電子照片下載相關的其他應用中,如證件照打印工作室或旅游照片拍攝等,具有一定的參考應用價值。
參考文獻:
[1]楊立峰,王曉敏,劉薇娜.基于二維碼掃描的零件在線加工監控系統[Jl.機械工程師,2016(2):69-71.
[2]二維碼一百度百科.https://baike.baidu.com/item/=維碼.
[3]鄭磊,辛壯,方志民,等.基于二維碼掃描的旅行助手的設計與實現[J].黑龍江工程學院學報,2015,29(6):44-47.
[4]戴曉瑞.基于二維碼物聯網技術的物資采購跟蹤系統設計與應用[J].數字技術與應用,2019(8):160-161.
[5] QRcode.com I DENSO WAVE. https://www.qrcode.com/zh/in-dex.html.
【通聯編輯:梁書】
作者簡介:楊亞仿(1984-),男,廣西中醫藥大學現代教育技術與信息中心,碩士研究生,主要從事信息管理系統研發和校園網管理建設。