博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF生成二维码
阅读量:4975 次
发布时间:2019-06-12

本文共 2110 字,大约阅读时间需要 7 分钟。

1、通过NuGet安装控件:

Install-Package ZXing.Net

2、添加引用System.Drawing

3、在xaml中添加一个Image控件,用于显示二维码,命名为image1

完整示例代码:

using System;using System.Drawing;using System.Runtime.InteropServices;using System.Windows;using System.Windows.Media;using System.Windows.Media.Imaging;using ZXing;using ZXing.Common;using ZXing.QrCode;namespace WpfDemo{    ///     /// MainWindow.xaml 的交互逻辑    ///     public partial class MainWindow : Window    {        [DllImport("gdi32")]        static extern int DeleteObject(IntPtr o);        public MainWindow()        {            InitializeComponent();            image1.Source = createQRCode("http://www.cnsos.net/", 1000, 1000);        }        ///         /// 创建二维码图片        ///         ///         ///         ///         /// 
private ImageSource createQRCode(string content, int width, int height) { EncodingOptions options; //包含一些编码、大小等的设置 //BarcodeWriter :一个智能类来编码一些内容的条形码图像 BarcodeWriter write = null; 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 bmpHandle = bitmap.GetHbitmap(); //从GDI+ Bitmap创建GDI位图对象 //Imaging.CreateBitmapSourceFromHBitmap方法,基于所提供的非托管位图和调色板信息的指针,返回一个托管的BitmapSource BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmpHandle, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); DeleteObject(bmpHandle); return bitmapSource; } }}

 

转自:http://blog.csdn.net/wangshubo1989/article/details/47152533

转载于:https://www.cnblogs.com/wzwyc/p/7515691.html

你可能感兴趣的文章
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
centos iptables
查看>>
unity3d 移动与旋转 2
查看>>
寻找二叉查找树中比指定值小的所有节点中最大的那个节点
查看>>
如何设置输入框达到只读效果
查看>>
RT3070 USB WIFI 在连接socket编程过程中问题总结
查看>>
MIS外汇平台荣获“2013年全球最佳STP外汇交易商”
查看>>
LeetCode 题解之Add Digits
查看>>
hdu1502 , Regular Words, dp,高精度加法
查看>>
SpringBoot在idea中的热部署配置
查看>>
MyEclipse连接SQL Server 2008数据库的操作方法
查看>>
JS验证图片格式和大小并预览
查看>>
laravel5.2 移植到新服务器上除了“/”路由 ,其它路由对应的页面显示报404错误(Object not found!)———新装的LAMP没有加载Rewrite模块...
查看>>
编写高质量代码--改善python程序的建议(六)
查看>>
windows xp 中的administrator帐户不在用户登录内怎么解决?
查看>>
接口和抽象类有什么区别
查看>>
Codeforces Round #206 (Div. 2)
查看>>
**p
查看>>
优先队列详解
查看>>
VS2012 创建项目失败,,提示为找到约束。。。。
查看>>