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也是老 ...
随机推荐
- Mysql数据库查询语法详解
数据库的完整查询语法 在平常的工作中经常需要与数据库打交道 , 虽然大多时间都是简单的查询抑或使用框架封装好的ORM的查询方法 , 但是还是要对数据库的完整查询语法做一个加深理解 数据库完整查询语法框 ...
- JAVA 基础--开发环境Sublime Text 3 搭建
方法一 打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打 ...
- ogre3D学习基础8 --- 资源管理器
资源管理 可管理的资源有: 材质资源:在.material文件中包含的材质脚本定义(技术.通路.纹理单元等数据的定义). 模型资源:经过优化的二进制网格模型文件,扩展名为.mesh.包含几何信息和一些 ...
- python 查看异常
接触python 一直觉着编译后报错经常没能捕捉显示,每次也只能从头看到尾 恰好在水木社区中看到关于异常捕捉帖子 方法一:捕获所有异常 try: a=b b=c except Exception,ex ...
- 零基础学 HTML5+CSS3 全彩版 明日科技 编著
第1章 基础知识 1.1 HTML概述 1.1.1 什么是HTML 1.1.2 HTML的发展历程 1.2 HTML文件的基本结构 1.2.1 HTML的基本结构 1.2.2 HTML的基本标记 1. ...
- python装饰器实现用户密码认证(简单初形)
import timecurrent_user={'user':None}def auth(engine = 'file'): def deco(func): #func=最初始的index和最初始的 ...
- [Pandas技巧] 如何把pandas dataframe对象或series对象转换成list
import pandas as pd >>> df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9], 'b':[3,5,6,2,4,6,7, ...
- URAL 1099 Work scheduling 一般图的最大匹配 带花树算法(模板)
R - Work scheduling Time Limit:500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u ...
- SPFA ----模板 O(kE) (k一般不超过2)
原理:若一个点入队的次数超过顶点数V,则存在负环: #include "bits/stdc++.h" using namespace std; ; struct Edge { in ...
- [POI2007]MEG-Megalopolis (树状数组,Dfs序)
题目描述 Solution 这道题考试的时候竟然没有仔细想,结果只拿了暴力分... 其实就是一个 DFS序+树状数组. 我们先把用 DFS 把它变成一个序列,同时记录它们的 \(siz\). 那么我们 ...