二维码生成与解析(使用ThoughtWorks.QRCode)

ThoughtWorks.QRCode功能齐全的二维码开发工具 利用ThoughtWorks.QRCode组件进行二次开发,实现二维码的各种个性自定义(颜色、边框色、边框宽度、个性文本字体,颜色、背景色、LOGO大小、背景色)支持保存 阅读详情

二维码生成

QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //  support different mode

qrCodeEncoder.QRCodeScale = 1;
qrCodeEncoder.QRCodeVersion = 1.0;

qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L; // support different mode

string qrCodeContent = "test";

Bitmap img = qrCodeEncoder.Encode(qrCodeContent);

string filePath = "c:\\qrcode.png" // support different image format

img.Save(filePath);

二维码解析

QRCodeDecoder decoder = new QRCodeDecoder();
string decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap("c:\\qrcode.png"))); // decodedStringshould be "test".

C#使用ThoughtWorks.QRCode.dll生成二维码以及解码

最近一段时间在网上找了二维码的生成代码,但是生成的二维码右上角的背景色总是透明的,所以自己拿过来改了一下,给自己做个总结。

代码如下:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;

namespace 生成二维码
{
  class QRCodeHelper
  {
    #region 根据内容获取二维码
    /// <summary>
    /// 根据内容获取二维码
    /// </summary>
    /// <param name="str">内容</param>
    /// <returns>返回二维码图片</returns>
    public static Bitmap GetQRCodeBmp(string str)
    {
      try
      {
        QRCodeEncoder qRCodeEncoder = new QRCodeEncoder();//实例化二维码对象
        qRCodeEncoder.QRCodeBackgroundColor = Color.White;//设置二维码背景颜色
        qRCodeEncoder.QRCodeForegroundColor = Color.Black;//设置二维码前景色
        qRCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//设置二维码编码类型
        qRCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//设置二维码拍错率
        qRCodeEncoder.QRCodeScale = 4;//设置二维码的大小
        qRCodeEncoder.QRCodeVersion = 7;//设置二维码的版本
        Bitmap bmp = qRCodeEncoder.Encode(str);
        //对二维码进行重绘
        Bitmap bitmap = new Bitmap(bmp.Width + 3, bmp.Height + 3);
        Graphics g = Graphics.FromImage(bitmap);
        g.Clear(Color.White);
        g.DrawRectangle(new Pen(Color.White), new Rectangle(0, 0, bitmap.Width, bitmap.Height));
        g.DrawImage(bmp, new PointF(2, 2));

        return bitmap;
      }
      catch (Exception)
      {
        return null;
      }    
    }
    /// <summary>
    /// 对二维码图片进行处理
    /// </summary>
    /// <param name="QrImg">二维码</param>
    /// <returns>处理过后的二维码</returns>
    public Bitmap RedrawQrImg(Bitmap QrImg)
    {
      Bitmap bitmap = new Bitmap(QrImg.Width + 3, QrImg.Height + 3);
      Graphics g = Graphics.FromImage(bitmap);
      g.Clear(Color.White);
      g.DrawRectangle(new Pen(Color.White), new Rectangle(0, 0, bitmap.Width, bitmap.Height));
      g.DrawImage(QrImg, new PointF(2, 2));

      return bitmap;
    }
    /// <summary>
    /// 二维码解码
    /// </summary>
    /// <param name="filePath">图片路径</param>
    /// <returns></returns>
    public static string CodeDecoder(string filePath)
    {
      try
      {
        if (!System.IO.File.Exists(filePath))
          return null;
        Bitmap myBitmap = new Bitmap(Image.FromFile(filePath));
        QRCodeDecoder decoder = new QRCodeDecoder();
        string decodedString = decoder.decode(new QRCodeBitmapImage(myBitmap));
        return decodedString;
      }
      catch (Exception)
      {
        return null;
      }
    }
  #endregion
  }
}

使用

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebDemo
{
    public partial class QRTest : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           Bitmap bmap= QRCodeHelper.GetQRCodeBmp("WWW.QQ.com");
           bmap.Save(Server.MapPath("~/Img/saved.png"));

            string fullpath = Server.MapPath("~/Img/ewm.png");
            string resultstr = QRCodeHelper.CodeDecoder(fullpath);

            Response.Write(resultstr);
        }
    }
}

如图

在这里插入图片描述

C#二维码:利用 ThoughtWorks.QRCode 库实现二维码生成与解析 在当今数字化信息交互频繁的时代,二维码凭借其信息容量大、容错能力强、易识别等特点,广泛应用于各个领域。从移动支付、产品溯源到活动签到,二维码无处不在。在 C# 开发过程中,通过引入`ThoughtWorks.QRCode`库,能够轻松实现二维码的生成与解析功能。接下来,我们将深入剖析一段基于该库的 C# 代码,详细了解其实现原理与使用方式。 阅读详情

相关推荐

C#实现使用ThoughtWorks.QRCode生成二维码(附完整源码)

C#实现使用ThoughtWorks.QRCode生成二维码(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 340

C#生成二维码(【ThoughtWorks.QRCode】及【QRCoder】)

C#生成二维码(【ThoughtWorks.QRCode】及【QRCoder】)

个人记录 2592

C#二维码生成与解析库ThoughtWorks.QRCode实战应用

ThoughtWorks.QRCode 是专为 .NET 平台设计的轻量级二维码处理库,完全基于原生 C# 实现,无需依赖任何第三方图像组件或网络服务。其核心采用分层架构:底层负责 Reed-Solomon 纠错编码与位矩阵生成,上层封装易用的和类,实现生成与识别一体化。// 示例:最简生成调用");该库支持 L、M、Q、H 四级纠错,可自定义模块大小、颜色、编码模式等参数,适用于支付、票务、物联网等多种高可靠性场景,具备出色的可部署性与安全性。

weixin_36235398的博客 6281

C# 使用 ThoughtWorks.QRCode 生成二维码

二维码是用某种特定的几何图形按一定规律在平面分布的、黑白相间的、记录数据符号信息的图形,在应用程序开发中也被广泛使用,诸如信息获取(如关注微信公众号)、网站跳转(写入Url)、防伪查询(反馈查询结果)、手机支付(如微信支付、支付宝支付)、会员登录(扫码登录方式)等等。 ThoughtWorks.QRCode是一款功能强劲的动态链接库,能够为.net应用生成二维码,QR 全称为 Quick Response,是一种编码方式。

初九之潜龙勿用 2091

C#环境下QR码生成与解析利器ThoughtWorks.QRCode实战应用

继承实现渐变填充:还能做圆角、波浪边、动态动画……只要你敢想!看到这里,你应该已经意识到:一个小小的二维码,背后藏着工程、设计、安全、用户体验的多重考量。ThoughtWorks.QRCode 不只是一个工具库,它是通往可靠、美观、智能交互系统的一扇门。掌握它,意味着你能:快速构建企业级扫码功能实现品牌化视觉表达应对复杂部署环境设计防伪与溯源体系而这,正是现代软件工程师应有的能力拼图之一。所以,别再只把它当作“扫一扫”了。

weixin_42608299的博客 427

转录组数据去批次方法整理(combat,combat-seq,removeBatchEffect)

正是因为这些非生物学的因素存在就有可能会导致我们的结果偏离真实的情况,那么实际分析的过程中研究者应当评估是否存在批次效应,并决定是否要进行去批次处理。批次效应是指样本在不同批次处理及测量的情况下引入与生物学情况不相关的技术误差,比如不同试剂耗材,不同操作者,不同的实验时间等。combat函数是基于贝叶斯框架下的调整数据批次效应的函数,主要适用于已经被过滤和标准化后的数据(combat-seq函数是基于二项回归分布下的调整数据批次效应的函数,主要适用于。值得注意的是,即使使用了所谓的去批次效应的工具,

zfyyzhys的博客 7862

二维码生成与解析 (使用ThoughtWorks.QRCode)

二维码生成 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //  support different mode qrCodeEncoder.QRCodeScale = 1; qrCodeEncoder.

我编程,我快乐 1万+

VNC Viewer建立多个图形界面,来远程访问同一个服务器(Ubuntu)

如题。目前已经有了一个VNC viewer连接,那么如果再开一个图形界面呢? 思路主要是:新建一个用户,从这个用户新建一个vnc连接,然后访问图形界面。

the Blog of 等不到天亮丶等时光 5897

【.NET】二维码生成与解析 (使用ThoughtWorks.QRCode)

1.二维码生成 //创建二维码生成类 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); //设置编码模式 qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; /设置编码测量度 qrCode...

u013938578的博客 1273

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

DeepBSA实战指南:从安装到基因组分析的全流程解析

本文详细解析了DeepBSA工具从安装到基因组分析的全流程,特别介绍了其简化生物信息学分析的'一键式'操作和独家深度学习算法。通过实战案例展示了DeepBSA在信噪比处理和QTL定位上的优势,并提供了Linux和Windows系统的安装避坑指南、数据预处理技巧以及算法选择建议,帮助用户高效完成基因组分析。

weixin_28732953的博客 436

.NET 二维码生成(ThoughtWorks.QRCode)

.NET 二维码生成(ThoughtWorks.QRCode) 引用ThoughtWorks.QRCode.dll (源代码里有) 1、简单二维码生成及解码代码: //生成二维码方法一 private void CreateCode_Simple(string nr) { QRCodeEnco

firedlove的专栏 2821

谈谈 FOC和BLDC 电机控制

更具体地说,通过 “Park 变换”,我们可以把三相交流电流信号转换成两相直流电流信号,从而可以把三相交流电机的控制变得和两相直流电机控制一样简单。在内环 “电流环”中,一些比较重要的模块有 “Clark 变换” 和 “Park 变换” 等数学模块、电机电流信号检测模块以及能够提供电机的转速和转角位置信息的模块。日前,Qorvo 电机控制应用高级系统/应用工程师张绍发表了一个与 BLDC 和 FOC 相关的演讲,科普了 FOC 的相关知识,还讲解了 Qorvo 用于简化 FOC 实施方案的方法。

U_YAO的博客 2115

c# 二维码生成库ThoughtWorks使用指南

二维码生成解析指导 By:hollow 在二维码生成解决方案中我们选择ThoughtWorks的QRCode库。 在项目中引入ThoughtWorks.QRCode.dll 此dll在文件夹中可以获得。 引入相关命名空间: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data;   根据字符串产

hcysoul的专栏 1905

让AI稳定生成流程图:基于Skill与Mermaid的工程化实践

流程图是软件工程中沟通业务逻辑的通用语言,但其绘制与维护却长期依赖手工工具,导致文档更新滞后、协作成本高。随着大语言模型技术的成熟,自然语言生成代码已成为可落地的技术路径,而Mermaid作为一款文本化图表语法,凭借其可版本管理、可自动渲染和可嵌入文档的优势,正逐步取代传统绘图工具。要让AI稳定输出合格的流程图,关键在于为模型定义一套清晰的Skill规则,约束输入结构、处理逻辑和输出格式。本文从流程图的工程痛点出发,介绍如何利用大模型将自然语言描述转化为结构化文本,再通过Mermaid CLI渲染成可视化图

weixin_42548782的博客 306

qt项目中添加 jsoncpp 库

qt使用jsoncpp库

deroy 1349

系统中生成二维码

平台使用方式: 先将把2个DLL文件(FWFramework.Client.QRCode.dll,ThoughtWorks.QRCode.dll)拷贝到客户端目录。 文件下载:http://bbs.delit.cn/forum.php?mod=attachment&aid=NjM5fDM0YmRhZGU1fDE0NDg4Njk3NjR8MHwzNzk%3D 1、生成二维码 '实例化(类似N

快速开发平台研究 765

ZED双目相机环境配置

ZED SDK 安装文件夹中有一个 Python 脚本(get_python_api.py),可以自动检测操作系统、CUDA 和 Python 版本并下载相应的预编译 Python API 包(pyzed)。安装SDK成功后,我们进入ZED SDK文件夹中的tools子文件夹,运行ZED Explorer.exe 以及 ZED Depth Viewer.exe,查看ZED相机是否能正常启用工作。在本例中,我们简单地检索ZED相机的序列号:打开 ZED相机,然后打印其序列号,然后关闭相机。

qq_53545309的博客 2131

[C#]二维码生成、解码(QRCode)【支持winform、web调用】

winform(Demo)下载:QRCode.rar  web(Demo)下载:webQRCode.rar 【ThoughtWorks.QRCode.dll 就是类库】【demo中有这个dll,不要再让我发邮件了~~我伤不起啊~~】 使用时需要增加: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data...

weixin_33850890的博客 250

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C#生成带Logo二维码

1.下载ThoughtWorks.QRCode引用并添加在工程中2.在实现类QRCodeEncoderDemo中引入Dll,添加方法   using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using Syste...

weixin_33948416的博客 458

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

[开源]C#二维码生成解析工具,可添加自定义Logo

  二维码又称QRCode,QR全称QuickResponse,是一个近几年来移动设备上超流行的一种编码方式,它比传统的BarCode条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,中文等等。今天就来跟大家分享一下我的二维码生成解析工具,主要功能就是生成二维码,并且可以添加自定义的Logo。当然,网络上面生成二维码的工具多如牛毛,生成二维码早已不再新鲜。这...

aa124413278的博客 412

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

.NET 二维码生成

使用NuGget添加 ThoughtWorks.QRCode 在项目引用: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; 二维码生成: /// <summary> /// 生成二维码 /// </summary> /// <param name="strData">要生成的文字或者数字,支持中文。..

w1824575989的博客 1263

c# 解析二维码

zxing安装nuget包【ZXing.Net】登录后复制 /// <summary> /// 图片转换 /// </summary> /// <param name="image"></param> /// <returns></returns> ...

weixin_36887933的博客 225

ASP.NET实现二维码(QRCode)的创建和读取

QR二维码比其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势。QR码的三个角上有三个寻象图形,使用CCD识读设备来探测码的位置、大小、倾斜角度、并加以解码,实现360度高速识读。每秒可以识读30个含有100个字符QR码。QR码容量密度 大,可以放入1817个汉字、7089个数字、4200个英文字母。QR码用数据压缩方式表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字

wtnu200的专栏 8358

VS2010 C#窗体应用程序利用QRCode生成二维码

1.引入ThoughtWorks.QRCode.dll类库到程序中 在工程的右边解决方案中添加引用–>浏览–>找到存放ThoughtWorks.QRCode.dll路径,然后选择ThoughtWorks.QRCode.dll类库---->确定 2.建立MyQR.cs类 用来生成和解析二维码 using System; using System.Collections.Gene...

zcn596785154的博客 2777
上一篇: HttpPostedFile类的使用方法
下一篇: WebUploader - 分片上传
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值