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用 ...
随机推荐
- MYSQL一对多,两表查询合并数据
select a.askid,a.title,GROUP_CONCAT(b.message SEPARATOR '----') as content from gg_ask as a join gg_ ...
- Lang语言包
\languages\zh_cn\admin\common.php里配置后台所有常量
- dict两种遍历方法
采用for...in...遍历: >>> for i in dd: ... print("%s:%s"%(i,dd[i])) ... :chen :hang :w ...
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalabl ...
- FLASK安装--兼收EZ_INSTALL及PIP
参考URL: http://www.cnblogs.com/haython/p/3970426.html http://www.pythondoc.com/flask/installation.htm ...
- keil C51绝对地址访问
在利用keil进行8051单片机编程的时,常常需要进行绝对地址进行访问.特别是对硬件操作,如DA AD 采样 ,LCD 液晶操作,打印操作.等等.C51提供了三种访问绝对地址的方法: 1. 绝对宏 在 ...
- 【HDOJ】1329 Hanoi Tower Troubles Again!
水题,搞清楚hanoi的定义就好做了. /* 1329 */ #include <cstdio> #include <cstring> #include <cstdlib ...
- mapreduce框架详解【转载】
[本文转载自:http://www.cnblogs.com/sharpxiajun/p/3151395.html] 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoo ...
- [置顶] JSP中使用taglib出错终极解决办法
jsp中 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c ...
- php 中的$argv与$argc
例如 php test.php as a joke print_r($argv); echo $argc; print_r($argv); array_shift($argv); echo $argc ...