zoukankan      html  css  js  c++  java
  • 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即可显示

  • 相关阅读:
    mysql数据库链接与创建
    Jmeter之csv、用户自定义变量以及Query Type分析(八)
    Jmeter之接口测试实战项目运用操作(七)
    SoapUI接口测试之实战运用操作(五)
    SoapUI接口测试之WSDL(四)
    SoapUI接口测试之JDBC(三)
    SoapUI接口测试之HTTP(二)
    Jmeter之参数化(五)
    Jmeter之WSDL(六)
    Java学习之接口
  • 原文地址:https://www.cnblogs.com/halfmanhuang/p/4077908.html
Copyright © 2011-2022 走看看