Windows Phone 7 实战第二天 二维码QRcode
越來越多的收據具備自動對焦的拍攝功能,這也意味著這些手機可以具備條碼掃描功能,手機具備條碼掃描功能,可以優化購物流程,快速存儲電子名片(二維碼)等。
QR 碼是二維條碼的一種,QR 來自英文 “Quick Response” 的縮寫,即快速反應的意思,源自發明者希望 QR 碼可讓其內容快速被解碼。QR碼比普通條碼可儲存更多資料,亦無需像普通條碼般在掃描時需直線對準掃描器。 QR 碼呈正方形,只有黑白兩色。在4個角落的其中3個,印有較小,像“回”字的的正方圖案。這 3 個是幫助解碼軟件定位的圖案,使用者不需要對準,無論以任何角度掃描,資料仍可正確被讀取。 更詳細介紹。
QRCode在生活中有著多方面的應用,例如火車票上有QRCode可以用來保存信息,現在很多手機軟件都提供掃描QRCode下載,而一號店網上商店在上海地鐵那里開設有“墻貼超市”,路人只要用手機掃描某商品的QRCode即可下單購買等等。
這次我們要做的應用就是二維碼的生成,讀取器。需要一個Windows Phone 7上的類庫來支持。在網上搜尋可用的條形碼識別庫。 這個是效果最好的了,項目在http://code.google.com/p/zxing/, 也有.NET的包。不過代碼是2010的了,貌似很久沒有更新了。
創建QRCode的核心代碼
??? public static WriteableBitmap CreateBarcode()
??? {
??????????? WriteableBitmap wb = null;
??????????? QRCodeWriter writer = new QRCodeWriter();
??????????? ByteMatrix bitMatrix = null;
??????????? try
??????????? {
??????????????? bitMatrix = writer.encode("HTTP://WWW.GOOGLE.COM", BarcodeFormat.QR_CODE, 300, 300);
??????????????? wb = ConvertByteMartixToWriteableBitmap(bitMatrix);
??????????? }
??????????? catch (WriterException e)
??????????? {
??????????? }
??????????? catch (IOException e)
??????????? {
??????????? }
??????????? return wb;
??????? }
???????? public static WriteableBitmap ConvertByteMartixToWriteableBitmap(ByteMatrix bm)??
???????? {?????????
???????????? WriteableBitmap wb = new WriteableBitmap(bm.Width, bm.Height);
???????????? for (int x = 0; x <= wb.PixelWidth - 1; x++)???????
???????????? {????????
???????????????? for (int y = 0; y <= wb.PixelHeight - 1; y++)?????
???????????????? {????????????????
???????????????????? if (bm.Array[y][x] == -1)???
???????????????????? {?????????????
???????????????????????? //白色???????????
???????????????????????? wb.Pixels[wb.PixelWidth * y + x] = BitConverter.ToInt32(BitConverter.GetBytes(0xffffffff), 0);????
???????????????????? }??????????????
???????????????????? else??????
???????????????????? {??????????
???????????????????????? //黑色??????
???????????????????????? wb.Pixels[wb.PixelWidth * y + x] = BitConverter.ToInt32(BitConverter.GetBytes(0xff000000), 0);??
???????????????????? }???????????
???????????????? }??????????
???????????? }????????
???????????? return wb;?
???????? }
?
C#利用QrCode.Net生成二維碼(Qr碼)
關于二維碼分塊上色(彩色二維碼)的算法研究
總結
以上是生活随笔為你收集整理的Windows Phone 7 实战第二天 二维码QRcode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程:synchronized方法
- 下一篇: ZJOI2007 棋盘制作