zoukankan      html  css  js  c++  java
  • 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码)

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

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    工程师的十层楼,上
    工程师的十层楼 (下)
    2011CCTV中国经济年度人物评选结果揭晓
    IT行业程序员薪水差距之大的原因是什么
    单片机C应用开发班
    【分享】对输入子系统分析总结
    P6156 简单题 题解
    P3911 最小公倍数之和 题解
    dp 做题记录
    UVA12298 Super Poker II 题解
  • 原文地址:https://www.cnblogs.com/shanyou/p/2280027.html
Copyright © 2011-2022 走看看