C#生成二维码
NewGet引用 ThoughtWorks.QRCode
下载链接:https://files.cnblogs.com/files/rzm2wxm/ThoughtWorks.QRCode.rar?t=1679624362
一、纯文本无汉字生成
public Bitmap CodeImage(string str) { //实例化一个生成二维码的对象 QRCodeEncoder qrEncoder = new QRCodeEncoder(); //设置二维码的编码模式 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //二维码像素宽度 qrEncoder.QRCodeScale = 4; //设置版本 qrEncoder.QRCodeVersion = 0; //根据内容生成二维码图像 Bitmap image = null; image = qrEncoder.Encode(str);return image; }
二、纯文本有汉字生成
public Bitmap CodeImage(string str) { //实例化一个生成二维码的对象 QRCodeEncoder qrEncoder = new QRCodeEncoder(); //设置二维码的编码模式 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //二维码像素宽度 qrEncoder.QRCodeScale = 4; //设置版本 qrEncoder.QRCodeVersion = 0; //根据内容生成二维码图像 Bitmap image = null; image = qrEncoder.Encode(str,Encoding.UTF8); return image; }
三、纯文本无汉字,有图片生成
public Bitmap CodeImage_Logo(string str) { //实例化一个生成二维码的对象 QRCodeEncoder qrEncoder = new QRCodeEncoder(); //设置二维码的编码模式 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //二维码像素宽度 qrEncoder.QRCodeScale = 4; //设置版本 qrEncoder.QRCodeVersion = 0; Bitmap image = null; image = qrEncoder.Encode(str); Bitmap logo = GetLogo(); int x = image.Width; int y = image.Height; //设置logo图像位置 Point point = new Point(x / 2 - 15, y / 2 - 15); //以二维码图像为背景绘制图像 Graphics g = Graphics.FromImage(image); g.DrawImage(logo, point); return image; }
四、纯文本有汉字,有图片生成
public Bitmap CodeImage_Logo(string str,Type type) { //实例化一个生成二维码的对象 QRCodeEncoder qrEncoder = new QRCodeEncoder(); //设置二维码的编码模式 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //二维码像素宽度 qrEncoder.QRCodeScale = 4; //设置版本 qrEncoder.QRCodeVersion = 0; Bitmap image = null; image = qrEncoder.Encode(str, Encoding.UTF8); Bitmap logo = GetLogo(); int x = image.Width; int y = image.Height; //设置logo图像位置 Point point = new Point(x / 2 - 15, y / 2 - 15); //以二维码图像为背景绘制图像 Graphics g = Graphics.FromImage(image); g.DrawImage(logo, point); return image; }
/// <summary> /// 要插入的logo图像 /// </summary> /// <returns></returns> public Bitmap GetLogo() { if (this.pictureBox2.Image != null) { //获得logo图像 Bitmap bmp = (Bitmap)this.pictureBox2.Image; //设置大小 Bitmap newBmp = new Bitmap(bmp, 30, 30); return newBmp; } else { return null; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-07-28 FusionChar属性介绍