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

介绍:

如果需要实在WPF窗体程序中现类似如下的二维码图片生成功能,可以通过本文的方法实现

 

添加步骤:

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

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

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

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

 

// 注销对象方法API
[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即可显示

 

转载于:https://www.cnblogs.com/halfmanhuang/p/4077908.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值