C# WPF使用ZXing生成二维码ImageSource

1、在http://zxingnet.codeplex.com/站点上下载ZXing .Net的第三方库

2、下载后解压可以看到有针对不同.Net版本的dll文件,在你的工程中引用正确的dll

3、然后再你的工程中引用System.Drawing程序集

4、在你需要生成二维码的Window中,加入一下代码

// 回收对象
[DllImport("gdi32")]
static extern int DeleteObject(IntPtr o);
        /**
         * 创建二维码图片
         */
        private ImageSource createQRCode(String content, int width, int height)
        {
            EncodingOptions options;//包含一些编码、大小等的设置
            BarcodeWriter write = null;//用来生成二维码,对应的BarcodeReader用来解码
            options = new QrCodeEncodingOptions
            {
                DisableECI = true,
                CharacterSet = "UTF-8",
                Width = width,
                Height = height,
                Margin = 0
            };
            write = new BarcodeWriter();
            write.Format = BarcodeFormat.QR_CODE;
            write.Options = options;
            Bitmap bitmap = write.Write(content);
            IntPtr ip = bitmap.GetHbitmap();
            BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                ip, IntPtr.Zero, Int32Rect.Empty,
                System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
            DeleteObject(ip);
            return bitmapSource;
        }

5、调用createQRCode即可完成二维码的ImageSource生成,然后使用Image即可显示

 

C# WPF使用ZXing生成二维码ImageSource

上一篇:c#编程指南(十) 平台调用P-INVOKE完全掌握, 字符串和指针


下一篇:关于C#中文本模板(.tt)的简单应用