前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows Phone 7 实战第二天 二维码QRcode

Windows Phone 7 实战第二天 二维码QRcode

作者头像
张善友
发布2018-01-22 11:40:54
6920
发布2018-01-22 11:40:54
举报
文章被收录于专栏:张善友的专栏张善友的专栏

越来越多的收据具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描功能,手机具备条码扫描功能,可以优化购物流程,快速存储电子名片(二维码)等。

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的核心代码

代码语言:js
复制
    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码)

关于二维码分块上色(彩色二维码)的算法研究

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-12-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档