如何利用ThoughtWorks.QRCode 生成二维码
1.引用ThoughtWorks.QRCode.dll
在nuget上查找即可引用,也可自行下载
2.生成二维码静态方法
参数:
二维码内容:fileUrl
二维码图片名:typeName
#region 生成二维码图片
/// <summary>
/// 生成二维码图片
/// </summary>
/// <returns>上传图片路径</returns>
public static string UploadQRCodeImage(string fileUrl, string typeName)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
String encoding = "Byte";
if (encoding == "Byte")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
}
else if (encoding == "AlphaNumeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
}
else if (encoding == "Numeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
}
try
{
int scale = ;
qrCodeEncoder.QRCodeScale = scale;
}
catch (Exception ex)
{
// return;
}
try
{
int version = ;//出现数组溢出问题,使用0会自动检测,使得encode通过
qrCodeEncoder.QRCodeVersion = version;
}
catch (Exception ex)
{
// MessageBox.Show("Invalid version !");
} string errorCorrect = "H";
if (errorCorrect == "L")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
else if (errorCorrect == "M")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
else if (errorCorrect == "Q")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
else if (errorCorrect == "H")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H; Image image;
// String data = fileUrl;
image = qrCodeEncoder.Encode(fileUrl); //上传目录
string directory = HttpContext.Current.Server.MapPath(QRCodePath);
string fileName = typeName + ".png";// + fileUrl.Split('.').Last(); if (!String.IsNullOrEmpty(fileName))
{
//文件全路径
string path = directory + fileName;
//判断目录是否存在
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
//文件存在就删除文件
// AccessoryAPPI.DeleteFiles(path);//个人类库方法,仅作记录
File.Delete(path); image.Save(path);
}
return "";
}
#endregion
3.扩展
a.该方法可以直接返回path,即二维码图片路径;
b.如果使用.NET 4.0 会遇到展示的安全限制问题,可参考下文,返回base64图片;
http://www.cnblogs.com/xcsn/p/5278362.html
如何利用ThoughtWorks.QRCode 生成二维码的更多相关文章
- 利用ThoughtWorks.QRCode生成二维码
一.项目添加ThoughtWorks.QRCode.dll和System.Drawing.dll的引用 二.创建二维码公共处理类(QRCodeHandler.cs) /// <summary&g ...
- ThoughtWorks.QRCode生成二维码
首先引用需要的dll,此处使用的是ThoughtWorks.QRCode.dll,网上可以找到对应的,此处也有一份,点击下载 http://files.cnblogs.com/files/ives/T ...
- 使用ThoughtWorks.QRCode生成二维码
新建Windows应用程序,加入引用ThoughtWorks.QRCode.dll,编写代码生成二维码. using System; using System.Drawing; using Syste ...
- ThoughtWorks.QRCode 生成二维码名片(实现二维码内容换行)
最近在写一个很简单的功能,按照Vcard的格式,生成二维码名片.本来以为分分钟完事的事情,替换数据,直接调用dll去生成二维码. 测试时,发现生成的二维码使用微信扫描得到的名片信息为空,反向解析发现, ...
- C# 利用QRCode生成二维码图片
网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...
- 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法
一.简介 1.说明 qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式,您可以到https://github.com/jeromeetienn ...
- 利用google api生成二维码名片
利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩 ...
- C#Qrcode生成二维码支持中文,带图片,带文字
C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...
- Qrcode生成二维码的参数总结 及最小尺寸的测试
Qrcode生成二维码,做过很多实验,探索最小规格的二维码到底是多少尺寸,和最高规格的二维码到底是多大尺寸.现在我总结总结: 有两种思路: 1.生成规格高的二维码,然后压缩到自己想要的尺寸的二维码.这 ...
随机推荐
- Android 带清除功能的输入框控件EditText
1.效果图 2.源码下载 http://download.csdn.net/detail/yanzi2015/8864603 3.相关博客 http://www.cnblogs.com/to ...
- 解析plist文件(字典里包着数组,数组中又包含字典)
#import "RootTableViewController.h" #import "City.h" @interface RootTableViewCon ...
- UITableVIew 滚动流畅性优化
影响UITableViewUITableView滚动的流畅性原因: 1. 在代理方法中做了过多的计算占用了 UI 线程的时间 2.同上 3.Cell 中 view 的组织复杂,比如使用layer并不会 ...
- iOS之UI--微博个人详情页
前言:微博个人详情页,和我常用的的QQ空间的详情页是同样的.要求能够融会贯通,做这一类的界面能够快速上手实现. 动态图效果展示: 直接使用UINavigationBar->UITableView ...
- linux NFS服务器安装与配置 思路
一,nfs服务优缺点 NFS 是Network File System的缩写,即网络文件系统,可以让不同的客户端挂载使用同一个目录,作为共享存储使用,这样可以保证不同的节点客户端数据一致性,在集群架构 ...
- MyEclipse Workspace 项目文件 .project .classpath .mymetadata解析
<!-- .classpath文件 --> <?xml version="1.0" encoding="UTF-8"?> <cla ...
- C#操作XML小结(转)
一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); ...
- 计算机信息统计.vbs
temp=0 set wshshell=wscript.createobject("wscript.shell") Set WshNetwork = WScript.Createo ...
- Linux学习之六——使用vi和vim
一.vi的三种模式和相互切换 1. 一般模式 1) 移动光标 可以用箭头键,Page Up, Page Down, Home,End等按键移动光标 G,移动到档案最后一行 1G,gg,移动到档案第一行 ...
- spark Basic code demo
spark-shell --master=spark://namenode01:7077 --executor-memory 2g --driver-class-path /app/spark141/ ...