zoukankan      html  css  js  c++  java
  • WPF 创建二维码

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

    2.新建一个WPFproject

    3.引入zxing.dll

    4.加入引用空间

    using ZXing.Common;

    using ZXing;

    using ZXing.QrCode;

    5.加入引用System.Drawing

    6.加入引用空间

    using System.Drawing;

    7.在xaml中加入一个Image控件,用于显示二维码。命名为image1.

    8.编写生成二维码函数:

    // 注销对象方法API

    [DllImport("gdi32")]

    static extern int DeleteObject(IntPtr o);

    /* 创建二维码图片 */

    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 ip = bitmap.GetHbitmap();//从GDI+ Bitmap创建GDI位图对象

    //Imaging.CreateBitmapSourceFromHBitmap方法。基于所提供的非托管位图和调色板信息的指针,返回一个托管的BitmapSource

    BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip, IntPtr.Zero, Int32Rect.Empty,

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

    DeleteObject(ip);

    return bitmapSource;

    }

    9.在xaml中加入一个button,并为button加入click事件

    10.在button的click事件中调用生成二维码的函数:

    image1.Source = createQRCode("牛逼",250, 250);

    11.执行程序。Image控件中显示生成的二维码,用手机扫描,能够得到二维码的内容“牛逼”。
  • 相关阅读:
    python学习(二十三) String(下) 分片和索引
    python学习(二十二) String(上)
    微服务网关
    【转】linux 软连接 硬链接
    设计模式--观察者模式
    设计模式--策略模式
    ubuntu-server 安装redis
    【转】linux的hostname修改详解
    【转】ftp的两种模式
    【转】linux下find查找命令用法
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6893972.html
Copyright © 2011-2022 走看看