windows phone 生产含logo的二维码

时间:2025-05-10 10:05:08

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

Grid grid = new Grid()
{
Height = ,
Width =
};
Image imgbg = new Image()
{
Height = ,
Width =
};
Image imglogo = new Image()
{
Height = ,
Width = ,
Margin = new Thickness(, , , ),//这里就写死了
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 = ; i < wbp.Pixels.Length; i++)
{
unchecked
{
if (wbp.Pixels[i] == (int)0xFF000000)
{
wbp.Pixels[i] = (int)0xFFFF0000;
}
} }
}
wbp.Invalidate();