C# Gma.QrCodeNet生成二维码
一.使用C#生成二维码类库之一是qrcodenet
源代码地址:
http://qrcodenet.codeplex.com/
二.使用实例
定义处理字符串
static string url = "http://blog.csdn.net/u011127019";
1.实例1
//生成二维码
static void Generate1()
{
//创建二维码生成类
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(url);
//输出显示在控制台
for (int j = ; j < qrCode.Matrix.Height; j++)
{
for (int i = ; i < qrCode.Matrix.Width; i++)
{
char charToPoint = qrCode.Matrix[i, j] ? '█' : ' ';
Console.Write(charToPoint);
}
Console.WriteLine();
}
}
2.生成二维码,保存成图片
//生成图片
static void Generate2()
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(url);
//保存成png文件
string filename = @"H:\桌面\截图\url.png";
GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(, QuietZoneModules.Two), Brushes.Black, Brushes.White);
using (FileStream stream = new FileStream(filename, FileMode.Create))
{
render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
}
}

3.支持中文
//生成中文二维码
static void Generate3()
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode("我是小天马");
//保存成png文件
string filename = @"H:\桌面\截图\cn.png";
GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(, QuietZoneModules.Two), Brushes.Black, Brushes.White); Bitmap map = new Bitmap(, );
Graphics g = Graphics.FromImage(map);
g.FillRectangle(Brushes.Red, , , , );
render.Draw(g, qrCode.Matrix, new Point(, ));
map.Save(filename, ImageFormat.Png);
}
4.调整二维码大小
//设置二维码大小
static void Generate4()
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode("我是小天马");
//保存成png文件
string filename = @"H:\桌面\截图\size.png";
//ModuleSize 设置图片大小
//QuietZoneModules 设置周边padding
/*
* 5----150*150 padding:5
* 10----300*300 padding:10
*/
GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(, QuietZoneModules.Two), Brushes.Black, Brushes.White); Point padding = new Point(, );
DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);
Bitmap map = new Bitmap(dSize.CodeWidth + padding.X, dSize.CodeWidth + padding.Y);
Graphics g = Graphics.FromImage(map);
render.Draw(g, qrCode.Matrix, padding);
map.Save(filename, ImageFormat.Png);
}

5.生成带Logo的二维码
//生成带Logo的二维码
static void Generate5()
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode("我是小天马");
//保存成png文件
string filename = @"H:\桌面\截图\logo.png";
GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(, QuietZoneModules.Two), Brushes.Black, Brushes.White); DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);
Bitmap map = new Bitmap(dSize.CodeWidth, dSize.CodeWidth);
Graphics g = Graphics.FromImage(map);
render.Draw(g, qrCode.Matrix);
//追加Logo图片 ,注意控制Logo图片大小和二维码大小的比例
Image img = Image.FromFile(@"F:\JavaScript_Solution\QrCode\QrCode\Images\101.jpg"); Point imgPoint = new Point((map.Width - img.Width) / , (map.Height - img.Height) / );
g.DrawImage(img, imgPoint.X, imgPoint.Y, img.Width, img.Height);
map.Save(filename, ImageFormat.Png);
}

C# Gma.QrCodeNet生成二维码的更多相关文章
- MVC中使用QrCodeNet 生成二维码
QrCodeNet下载地址:http://qrcodenet.codeplex.com/ using System.Drawing; using System.Drawing.Imaging; usi ...
- C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)
用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法: 1):通过QrCodeNet(Gma.QrCodeNet.Encoding.dll)来实现 1.1):首先 ...
- 使用QRCode生成二维码
第一步: 获取QRCode组件 可以通过vs的nuget管理安装Gma.QrCodeNet, 也可以直接添加"Gma.QrCodeNet.Encoding.dll"的引用. 第二步 ...
- C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- asp.net生成二维码的方法
asp.net生成二维码的方法 [复制链接] 这个要利用一个Dll文件. 如下 Gma.QrCodeNet.Encoding.dll (105.5 KB, 下载次数: 27) 当然大家也可以直 ...
- C#利用QrCode.Net生成二维码(Qr码
http://www.cnblogs.com/Soar1991/archive/2012/03/30/2426115.html 现在网上很多应用都是用二维码来分享网址或者其它的信息.尤其在移动领域,二 ...
- asp.net mvc 生成二维码
生成二维码,帮助类: using Gma.QrCodeNet.Encoding; using Gma.QrCodeNet.Encoding.Windows.Render; using System; ...
- C# 生成二维码(带Logo)
C# 生成二维码(带Logo) 第一种方式 我们需要引用 ThoughtWorks.QRCode.dll 生成带logo二维码(framework4.0以上) 下载地址:https://pan.ba ...
- C#运用ThoughtWorks生成二维码
在现在的项目中,较多的使用到二维码,前面介绍过一篇使用Gma生成二维码的操作,现在介绍一个第三方组件,主要介绍生成二维码,二维码的解析,以及对二维码的相关信息的选择,现在介绍ThoughtWorks用 ...
随机推荐
- phalcon安装和输出 hello word
1:下载和安装Wampserver2.4-x86.exe 服务器: 2:到phalcon官方网站下载对应的dll文件 phalcon_x86_VC9_php5.4.0_1.2.5 我下的是这个版本 所 ...
- python面试题大全
注:本面试题来源于网络,转载请注明来自http://www.cnblogs.com/goodhacker/p/3366618.html. 1. (1)python下多线程的限制以及多进程中传递参数的方 ...
- openssl 进行证书格式的转换
各类证书由于存储的内容不同(如是否包含公钥/私钥是否加密存储/单一证书或多证书等).采用编码不同(DER/BASE64).标准不同(如PEM/PKCS),所以尽管X.509标准规定了证书内容规范,但证 ...
- 定时器:为 Windows 实现一个连续更新,高精度的时间供应器
原著:Johan Nilsson 翻译:lxhui 原文出处:MSDN Magazine March 2004(Timers...) 原代码下载: HighResolutionTimer.exe (4 ...
- Qt_chartdirector图形开发
ChartDirector 是一款商业的图表库,有多种语言的版本,使用它做的图表非常的精 细漂亮,提供免费版本,但会出现logo信息.网上有很多关于它的破解方法. 一.产品优点 高效快捷 采用多线程结 ...
- 【转】Linux I2C设备驱动编写(三)-实例分析AM3359
原文网址:http://www.cnblogs.com/biglucky/p/4059586.html TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1 ...
- 深入JS系列学习4
深入JS系列学习4 Javascript 装载和执行 明白了JS的装载和执行,没有给出很好的解决方案,在IE下可用defer属性: 浏览器对于Javascript的运行有两大特性:1)载入后马上执行, ...
- 帕累托分析法(Pareto Analysis)(柏拉图分析)
帕累托分析法(Pareto Analysis)(柏拉图分析) ABC分类法是由意大利经济学家帕雷托首创的.1879年,帕累托研究个人收入的分布状态图是地,发现少数人收入占全部人口收入的大部分,而多数人 ...
- C#中两个时间的比较
var DateTimedt1 = Convert.ToDateTime(dt); var DateTimedt2 = Convert.ToDateTime(DateTime.Now); ...
- Flask+Mysql搭建网站之安装Mysql
安装Mysql # sudo apt-get install mysql-server 安装过程需要输入root密码,这个密码是mysql 的root密码,之后连接mysql会用到,这个要记住. 安装 ...