二維條碼比一維條碼記載數據量更多,二維碼條碼是一種高密度、高信息含量的便攜式數據文件,是實現證件及卡片等大容量、高可靠性信息自動存儲、攜帶並可用機器自動識讀的理想手段。而且可以記載更復雜的數據,比如圖片等。
本文演示使用asp.net生成店鋪推廣二維碼,二維碼中間加logo生成效果如圖1。該演示程序使用到了文字轉成圖片,生成縮略圖,圖片拼接等,在隨附的代碼下載中提供了完整的源代碼。
圖1 程序生成效果
演示程序結構
創建演示程序,我在Visual Studio 2013 選擇新建C#空白網站項目,將該項目命名為CreateQRCode,添加默認顯示頁面Default.aspx,一般處理程序QRCode.ashx是演示程序的核心,二維碼處理ThoughtWorks.QRCode.dll,背景圖片background.jpg以及小頭像HeadPortrait.jpg。圖2 顯示了演示程序的整體結構。
圖2 程序的整體結構
在QRCode.ashx引用三個命名空間,如下
實現System.Web.SessionState.IRequiresSessionState,就可以在一般處理程序QRCode.ashx使用HttpContext.Current.Session。
在GetQRCode方法生成二維碼,參數存放待編碼內容,定義如下:
在CreateImg方法的三個參數可能來自其他頁面,定義如下:
在ConvertStringToImage方法將文字轉換成圖片,定義如下:
在MakeThumbnail方法生成頭像縮略圖,定義如下:
在CombinImage方法新建自定義高度,寬度,背景顏色的圖片,定義如下:
結束
本文演示使用asp.net生成店鋪推廣二維碼,二維碼中間加logo生成效果如圖1。該演示程序使用到了文字轉成圖片,生成縮略圖,圖片拼接等,在隨附的代碼下載中提供了完整的源代碼。完整的源代碼下載鏈接