WPF生成二维码
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 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> 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); } /// <summary> /// 创建二维码图片 /// </summary> /// <param name="content"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> 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
分类:
WPF开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧