架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 22062|回复: 1

[WPF] C# WPF使用ZXing生成二维码ImageSource介绍

[复制链接]
发表于 2015-12-14 14:39:24 | 显示全部楼层 |阅读模式
介绍:如果需要实在WPF窗体程序中现类似如下的二维码图片生成功能,可以通过本文的方法实现。
061354230804543.png 添加步骤:1、在http://zxingnet.codeplex.com/站点上下载ZXing .Net的第三方库
2、下载后解压可以看到有针对不同.Net版本的dll文件,在你的工程中引用正确的dll
3、然后再你的工程中引用System.Drawing程序集
4、在你需要生成二维码的Window中,加入以下代码:

  1. // 注销对象方法API

  2. [DllImport("gdi32")]

  3. static extern int DeleteObject(IntPtr o);



  4. /**

  5. * 创建二维码图片

  6. */

  7. private ImageSource createQRCode(String content, int width, int height)

  8. {

  9.     EncodingOptions options;//包含一些编码、大小等的设置

  10.     BarcodeWriter write = null;//用来生成二维码,对应的BarcodeReader用来解码

  11.     options = new QrCodeEncodingOptions

  12.     {

  13.         DisableECI = true,

  14.         CharacterSet = "UTF-8",

  15.         Width = width,

  16.         Height = height,

  17.         Margin = 0

  18.     };

  19.     write = new BarcodeWriter();

  20.     write.Format = BarcodeFormat.QR_CODE;

  21.     write.Options = options;

  22.     Bitmap bitmap = write.Write(content);

  23.     IntPtr ip = bitmap.GetHbitmap();

  24.     BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(

  25.         ip, IntPtr.Zero, Int32Rect.Empty,

  26.         System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());

  27.     DeleteObject(ip);

  28.     return bitmapSource;

  29. }
复制代码
5、调用createQRCode即可完成二维码的ImageSource生成,然后使用Image即可显示。





上一篇:.net list与数组互相转换
下一篇:c# 指定ip段生成ip地址
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-12-14 15:55:03 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-1-2 21:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表