windows phone 生产含logo的二维码

这几天了解二维码了解的比较多,不过就是没深入了解。google了一下生产含logo二维码的思路,就是把logo给画到生成的二维码上,还是因为二维码的纠错能力足够好啊,用Graphics对图片进行操作??没发现有Graphics这个类,还好WriteableBitmap足够强大,动态创建一个grid(其他的布局也可以)和两个image,一个source设置成二维码一个source设置成logo的,两个image添加到grid中,用WriteableBitmap来获取grid的图像,,,,,哪个大神有好的解决办法可以透漏一下

Grid grid = new Grid()
            {
                Height = 300,
                Width = 300
            };
            Image imgbg = new Image()
            {
                Height = 300,
                Width = 300
            };
            Image imglogo = new Image()
            {
                Height = 50,
                Width = 50,
                Margin = new Thickness(125, 125, 0, 0),//这里就写死了
                Source = new BitmapImage
                {
                    UriSource = new Uri("/wp;component/Images/logo.jpg", UriKind.Relative)
                }
            };
            //imgCode为资源为生成的二维码
            var img = imgCode.Source as WriteableBitmap;
            imgbg.Source = img;
            grid.Children.Add(imgbg);
            grid.Children.Add(imglogo);
            WriteableBitmap wb = new WriteableBitmap(grid, null);
            //显示生成的含logo的二维码
            imgLogoCode.Source = wb;

还有就是生成彩色的二维码,,,也是对生成好的二维码进行操作??是的话就太坑了,简单弄了一下生成白底红色的二维码

WriteableBitmap wbp = imgCode.Source as WriteableBitmap;
            if (wbp != null)
            {

                for (int i = 0; i < wbp.Pixels.Length; i++)
                {
                    unchecked
                    {
                        if (wbp.Pixels[i] == (int)0xFF000000)
                        {
                            wbp.Pixels[i] = (int)0xFFFF0000;
                        }
                    }

                }
            }
            wbp.Invalidate();

 

posted on 2013-08-22 21:11  mayue-tzc  阅读(280)  评论(0编辑  收藏  举报