WPF-生成二维码(条码)

摘要:
BarcodeFormat枚举类型,条形码格式。EncodingOptions,主要用于设置宽度、高度、编码方式等信息。BitMatrix表示一个由位表示的二维矩阵数组,元素的值表示二进制中的1和0,有真和假。

1.效果图

WPF-生成二维码(条码)第1张

2.BarcodeWriter 用于生成图片格式的条码类,通过Write函数进行输出。

BarcodeFormat 枚举类型,条码格式。

EncodingOptions,主要设置宽,高,编码方式等信息。

BitMatrix 表示按位表示的二维矩阵数组,元素的值用true和false表示二进制中的1和0。

/ 生成二维码
        private System.Drawing.Image GeneratorQR(string msg)
        {

            var QRmsg = "https://www.baidu.com/";
            if (!Directory.Exists(System.AppDomain.CurrentDomain.BaseDirectory + "QRBar1\"))
            {
                Directory.CreateDirectory(System.AppDomain.CurrentDomain.BaseDirectory + "QRBar1\");

            }
            var QRpath = System.AppDomain.CurrentDomain.BaseDirectory + "QRBar1\" +
                                   "QrCode" + ".jpg";
            // MessageBox.Show(QRpath);

            BarcodeWriter writer = new BarcodeWriter
            {
                Format = BarcodeFormat.QR_CODE
            };
            writer.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");     // 编码问题
            writer.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
            int codeSizeInPixels = 150;      // 设置图片长宽
            writer.Options.Height = 150;
            writer.Options.Width = 150;
            writer.Options.Margin = 0;       // 设置边框
            BitMatrix bm = writer.Encode(msg);
            Bitmap img = writer.Write(bm);
            img.Save(@QRpath);
            imageQR.Source = BitmapToBitmapImage(img);
            return img;
        }

3.

Bitmap 转换为 BitmapImage(避免图片被占用,我之前的博客有提到过)
 // Bitmap --> BitmapImage
        public static BitmapImage BitmapToBitmapImage(Bitmap bitmap)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                bitmap.Save(stream, ImageFormat.Png);
                stream.Position = 0;
                BitmapImage result = new BitmapImage();
                result.BeginInit();
                result.CacheOption = BitmapCacheOption.OnLoad;
                result.StreamSource = stream;
                result.EndInit();
                result.Freeze();
                return result;
            }
        }

4.源码下载。

 https://files-cdn.cnblogs.com/files/king10086/QR.7z

免责声明:文章转载自《WPF-生成二维码(条码)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Winform 动态 画图 不闪Zabbix优化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QrenCode 命令行下生成二维码

在 Ubuntu / Linux 上,有一个名为 QrenCode 的命令行工具可以很容易帮我们生成二维码图片。 除此之外,你还可以使用更多其它参数,详细用法请 man qrencode。 qrencode -o ~/Desktop/google.png -s 6 'http://www.tiaoma100.com.com' 输出结果 # 使用: 对于二维...

php生成二维码

<?php // QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize); // 第二种方式 保存成一个文件,并且打印出来 include 'C:wodewenjianwampwwwphpqrcodephpqrcode.php'; $store_id = 11;$tabl...

(zxing.net)二维码PDF417的简介、实现与解码

一、简介 二维码PDF417是一种堆叠式二维条码。PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。 PDF417条码需要有417解码功能的条码阅读器才能识别。PDF417条码最大的优势在于其庞大的数据容量和...

java程序生成二维码

在物联网的时代,二维码是个很重要的东西了,现在无论什么东西都要搞个二维码标志,唯恐落伍,就差人没有用二维码识别了。也许有一天生分证或者户口本都会用二维码识别了。今天心血来潮,看见别人都为自己的博客添加了二维码,我也想搞一个测试一下. 主要用来实现两点: 1. 生成任意文字的二维码. 2. 在二维码的中间加入图像. 一、准备工作。 准备QR二维码3.0 版本...

Json与List的相互转换

问题由来: 最近由于做一个项目,项目的一个功能就是根据Listview的内容生成一个二维码,然后扫描二维码获取list,再重新显示listview。 核心就是: list—->生成二维码——>获取二维码—–>获取list 生成二维码的方法: http://blog.csdn.net/demonliuhui/article/details/...

同一个二维码支持多种支付的实现思路

我们在一些商店使用手机支付时会遇到使用支付宝或者微信都只扫一个二维码就能完成付款。 方式一 判断应用类型做相应跳转微信和支付宝融合到一张二维码上是可以实现的,这个二维码就是一个地址链接url实际上是一个支付网页(我们自己网站的页面),支付宝和微信的扫一扫实际上就是在应用内部打开的这个网页。 网页在被打开的时候会判断打开这个网页的应用类型,如果是微...