C# 生成和识别二维码
生成和识别二维码
本来认为这功能在网上一搜一大堆,结果确实如此。但没有一个能用的,要么就是要收费,要么不能使用。 于是乎一顿搜索,经测试代码稳定,无论是纯二维码还是复杂图像嵌入二维码,均可识别
文章目录
- 生成和识别二维码
- 第一步:
- 第二步:
- 参考引用
第一步:
Install-Package ZXing.Net -Version 0.16.6
第二步:
class Program{static void Main(string[] args){var data = "http://programmingnotes.org/";// Encode data to a QR code byte arrayvar bytes = CreateQRCode(data);//File.WriteAllBytes(@"c:\a.png", bytes);Console.WriteLine($"Length: {bytes.Length}");// Decode QR code to a stringvar result = ReadQRCode(bytes);var result2 = ReadQRCode(File.ReadAllBytes(@"E:\Desktop\erweima\微信图片_20210721150957.jpg"));Console.WriteLine($"Result: {result}");}/// <summary>/// Converts a string and encodes it to a QR code byte array/// </summary>/// <param name="data">The data to encode</param>/// <param name="height">The height of the QR code</param>/// <param name="width">The width of the QR code</param>/// <param name="margin">The margin around the QR code</param>/// <returns>The byte array of the data encoded into a QR code</returns>public static byte[] CreateQRCode(string data, int height = 100, int width = 100, int margin = 0){byte[] bytes = null;var barcodeWriter = new ZXing.BarcodeWriter(){Format = ZXing.BarcodeFormat.QR_CODE,Options = new ZXing.QrCode.QrCodeEncodingOptions(){Height = height,Width = width,Margin = margin}};using (var image = barcodeWriter.Write(data)){using (var stream = new System.IO.MemoryStream()){image.Save(stream, System.Drawing.Imaging.ImageFormat.Png);bytes = stream.ToArray();}}return bytes;}/// <summary>/// Converts a QR code and decodes it to its string data /// </summary>/// <param name="bytes">The QR code byte array</param> /// <returns>The string data decoded from the QR code</returns>public static string ReadQRCode(byte[] bytes){var result = string.Empty;using (var stream = new System.IO.MemoryStream(bytes)){using (var image = System.Drawing.Image.FromStream(stream)){var barcodeReader = new ZXing.BarcodeReader();var decoded = barcodeReader.Decode((System.Drawing.Bitmap)image);if (decoded != null){result = decoded.Text;}}}return result;}}
参考引用
生成识别二维码
C# 生成和识别二维码相关推荐
- java生成和识别二维码
全栈工程师开发手册 (作者:栾鹏) java教程全解 本文使用两种方式生成和识别二维码. 方法1:使用日本公司的qrcode 需要引入的包 qrcode_swetake.jar qrcode.jar ...
- 香橙派 ubuntu c# .net 使用ThoughtWorks.QRCodCore库生成 或识别 二维码,及报错处理方法
在linux下生成和识别二维码,试了大半天,找到个库测试通过可以使用 ThoughtWorks.QRCodCore 其它的库有些仅在window下可用,有些使用困难 这里如果你在linux下跑的话,一 ...
- Android 扫描、生成、识别二维码、条码 一库搞定
他来了,他来了,他带着YXing走来了. YXing 集成了CameraX + zxing, 简洁调用,功能完善,自定义扫码界面,再也不用像以前一样cv一堆冗余的Camera代码进项目了. 怎么集成: ...
- 用 Java 生成和识别二维码就这么简单
大家好,我是青空. 青空最近一直在思考一个问题,Java 能不能做一些比较有意思的事情,但是在网络上搜索的时候,有意思好玩的东西,都被 Python 给做了.Java 似乎就只剩下八股文,面试,框架, ...
- python二维码生成识别代码_Python3+qrcode+zxing生成和识别二维码教程
一.安装依赖库 pip install qrcode pillow image zxing pillow是python3中PIL的代替库,image是生成图版需要用到的库 安装image时报错&quo ...
- c# 生成、识别二维码
@Tomato c# 这里以winform为例,窗体内拉入,textBox1.button1.button2.pictureBox1 4个控件 文章目录 1.引用包 2.生成二维码 3.识别二维码 1 ...
- Python3 生成和识别二维码
文章目录 问题描述 代码 一点解释 [写在前面] 在当今社会中,二维码的使用非常的广泛.当然作为一名充满好奇心又爱装逼的 coder 怎么能不会使用二维码编码自己想表达的内容呢,尤其是用在装逼和找对象 ...
- AI生成二维码Stable diffusion生成可识别二维码【附完整教程】【附完整案例】
前言 最近的炫酷QR比较火,所以今天给大家分享一下如何实现.首先我们知道QR二维码已经改变了信息的共享和获取方式.但是,QR码的视觉外观可能并不总是符合设计或艺术品的美学要求.为了解决这个问题,Con ...
- python实现二维码识别软件_用 Python 生成 识别二维码
说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...
最新文章
- 模拟操作系统动态内存管理(c实现)
- Git提交代码时报 Please tell me who you are
- 【机器学习】Python机器学习的神器- Scikit-learn使用说明
- php显示控制器不存在,phpcms控制器不存在解决方法
- ubuntu 13.04 mysql_Ubuntu13.04 下MySQL5.6安装过程
- android 左滑按钮,android开发类似微信列表向左滑动按钮操作
- python获取浏览器数据_python 获取有关访问者的浏览器的 细节
- 工厂电子产品工艺文件_建智能工厂,人机如何达到最佳组合?
- centos7升级gcc到5.3.0
- 几款4Gb光纤连接产品对比
- uuid.randomuuid()回重复么_【编译器玄学研究报告】第三期——“O0” 就能逃出优化的魔爪么?...
- ascll编码表图片_ASCII编码表
- 微信APP支付开发指引
- web前端课程设计:猫咪领养网站 HTML+CSS+JavaScript
- 2的次方表(1~64次方)
- 中国3G蛋糕1.5万亿 10倍三峡工程
- 【Ruby on Rails全栈课程】2.1 ruby语言入门
- Swagger官网与官方文档
- How to get admin priviledge in Vista using ziguang holes
- Vue解决warning Emitted value instead of an instance of Error
热门文章
- GQC的HIL启动流程
- Android 7.1.2上默认wifi链接之后实际能上网却一直显示不能上网问题
- 产品设计体会(6026)乱弹餐馆“菜单”的设计
- 清华大学电子计算机学院山西籍导师,清华大学电子工程系研究生导师介绍:鲍捷...
- MXD修改数据源 arcgis
- android热启动时间,Android冷启动和热启动
- 最新Swoole4.0深入学习-与client的初相遇
- CNN基本原理以及卷积池化的实现细节
- [转]乔布斯的薄伽梵歌 Steve’s Bhagavat Gita
- Web自动化测试(一)