C# 生成二维码(带Logo)
C# 生成二维码(带Logo)
第一种方式
我们需要引用 ThoughtWorks.QRCode.dll 生成带logo二维码(framework4.0以上)
下载地址:https://pan.baidu.com/s/1mBjd7PHB-Klybx18Z5Og8A
提取码: ugwa
/// <summary>
/// 创建二维码
/// </summary>
/// <param name="content">内容</param>
/// <returns></returns>
public static Bitmap CreateQRCode(string content)
{
try
{
QRCodeEncoder qrEncoder = new QRCodeEncoder();
//二维码类型
qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
//二维码尺寸
qrEncoder.QRCodeScale = ;
//二维码版本
qrEncoder.QRCodeVersion = ;
//二维码容错程度
qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
//字体与背景颜色
qrEncoder.QRCodeBackgroundColor = Color.White;
qrEncoder.QRCodeForegroundColor = Color.Black;
//UTF-8编码类型
Bitmap qrcode = qrEncoder.Encode(content, Encoding.UTF8); return qrcode;
}
catch (Exception)
{
return null;
}
}
创建二维码
/// <summary>
/// 生成带logo二维码
/// </summary>
/// <returns></returns>
public static Bitmap CreateQRCodeWithLogo(string content, string logopath)
{
//生成二维码
Bitmap qrcode = CreateQRCode(content);
//生成logo
Bitmap logo = new Bitmap(logopath);
//合成
ImageUtility util = new ImageUtility();
Bitmap finalImage = util.MergeQrImg(qrcode, logo);
return finalImage;
}
生成带Logo的二维码
/// <summary>
/// 保存二维码
/// </summary>
/// <param name="QRCode">二维码图片</param>
/// <param name="SavePath">保存路径</param>
/// <param name="QRCodeName">图片名称</param>
public static void SaveQRCode(Bitmap QRCode, string SavePath, string QRCodeName)
{
if (!Directory.Exists(SavePath))
{
Directory.CreateDirectory(SavePath);
}
QRCode.Save(Path.Combine(SavePath, QRCodeName + ".png"), ImageFormat.Png); QRCode.Dispose();
}
保存二维码
第二种方式
我们需要引用 Gma.QrCodeNet.Encoding.Net45.dll (framework4.5以上)支持中文
下载地址:https://pan.baidu.com/s/1TKMwdWHYhTp_fJnTYHKnsQ
提取码: eqjh
// <summary>
/// 生成保存二维码(framework4.5以上)
/// </summary>
/// <param name="CodeString"></param>
/// <param name="PicName"></param>
/// <param name="FilePath"></param>
public static void CreateQRCode(string CodeString, string PicName, string FilePath)
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode code = new QrCode();
qrEncoder.TryEncode(CodeString, out code);
const int modelSizeInPixels = ; GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(modelSizeInPixels, QuietZoneModules.Two)
, Brushes.Black, Brushes.White);
if (!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
}
string filename = FilePath + "\\" + PicName + ".png";
using (FileStream stream = new FileStream(filename, FileMode.Create))
{
render.WriteToStream(code.Matrix, ImageFormat.Png, stream);
}
}
生成并保存二维码
C# 生成二维码(带Logo)的更多相关文章
- (转)js jquery.qrcode生成二维码 带logo 支持中文
场景:公司最最近在开发二维码支付业务,所以需要做一个html5中的二维码生成和部署! 前天用js生成二维码,节省服务器资源及带宽 原版jquery.qrcode不能生成logo,本文采用的是修改版 1 ...
- jquery.qrcode 生成二维码带logo
<div id="container">这里是二维码显示位置</div> <script language="JavaScript" ...
- jquery动态生成二维码添加自定义logo
动态生成二维码中间带logo. jquery.qrcode.js 动态生成二维码api很简单. 引入jquer(版本任意),引入jquery.qrcode.js 不需要中间带logo这样就可以了.带l ...
- vue生成条形码/二维码/带logo二维码
条形码:https://blog.csdn.net/dakache11/article/details/83749410 //安装 cnpm install @xkeshi/vue-barcode / ...
- spring boot:用zxing生成二维码,支持logo(spring boot 2.3.2)
一,zxing是什么? 1,zxing的用途 如果我们做二维码的生成和扫描,通常会用到zxing这个库, ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库. zxing还可以 ...
- xamarin android 实现二维码带logo生成效果
MultiFormatWriter writer = new MultiFormatWriter(); Dictionary<EncodeHintType, object> hint = ...
- 使用jquery.qrcode生成二维码支持logo,和中文
/* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 1999 Masanao Izumo <iz@onicos.co. ...
- C#使用Zxing2.0生成二维码 带简单中心LOGO
参考:http://www.open-open.com/lib/view/open1379214678162.html 代码:http://files.cnblogs.com/halo/%E4%BA% ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
随机推荐
- python——全局变量&局部变量
>>> count = 5 >>> def function(): count = 10 print(10) >>> function() 10 ...
- bash实例
1写一个脚本,完成如下功能(使用函数):1.脚本使用格式:mkscript.sh [-D|--description "script description"] [-A|--aut ...
- 【第一章第一回】BootStrap 简介
Twitter Bootstrap 是目前最受欢迎的前端框架,它简洁.直观.移动优先.强悍的前端开发框架,让web开发更迅速.简单.基于HTML.CSS和Javascript. 为什么使用Bootst ...
- Python面试题(练习二)
1.用Python实现一个二分查找的函数. data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35] def ...
- 【NOIP2017】逛公园 拆点最短路+拓扑(记忆化搜索
题目描述 策策同学特别喜欢逛公园.公园可以看成一张N个点M条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间. 策 ...
- Python开启进程的2中方式
知识点一:进程的理论 进程:正在进行的一个程序或者说一个任务,而负责执行任务的则是CPU 进程运行的的三种状态: 1.运行:(由CPU来执行,越多越好,可提高效率) 2.阻塞:(遇到了IQ,3个里面可 ...
- java反射的基本使用
反射机制是java中非常重要的功能,熟练使用反射功能对实际的开发有很大的帮助. 一,通过反射获取对象实例 使用的对象User package whroid.java.reflect; public c ...
- Java容器jdk1.6 Array
参考:https://www.cnblogs.com/tstd/p/5042087.html 1.定义 顶层接口collection public interface Collection<E& ...
- 皮尔逊相关系数的计算(python代码版)
from math import sqrt def multipl(a,b): sumofab=0.0 for i in range(len(a)): temp=a[i]*b[i] sumofab+= ...
- 【bzoj2346】[Baltic 2011]Lamp 堆优化Dijkstra
题目描述 2255是一个傻X,他连自己家灯不亮了都不知道.某天TZ大神路过他家,发现了这一情况,于是TZ开始行侠仗义了.TZ发现是电路板的问题,他打开了电路板,发现线路根本没有连上!!于是他强大的脑力 ...