.NET 二维码生成
使用NuGget添加 ThoughtWorks.QRCode
在项目引用:
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
二维码生成:
/// <summary>
/// 生成二维码
/// </summary>
/// <param name="strData">要生成的文字或者数字,支持中文。</param>
/// <param name="qrEncoding">三种尺寸:BYTE ,ALPHA_NUMERIC,NUMERIC</param>
/// <param name="level">大小:L M Q H</param>
/// <param name="version">版本:如 8</param>
/// <param name="scale">比例:如 4</param>
/// <returns></returns>
public ActionResult Choose(string strData, string qrEncoding, string level, int version, int scale)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeBackgroundColor = Color.White;//设置二维码背景颜色
qrCodeEncoder.QRCodeForegroundColor = Color.Black;//设置二维码前景色
string encoding = qrEncoding;
switch (encoding)
{
case "Byte":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
case "AlphaNumeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
break;
case "Numeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
break;
default:
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
}qrCodeEncoder.QRCodeScale = scale;
qrCodeEncoder.QRCodeVersion = version;
switch (level)
{
case "L":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
break;
case "M":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
break;
case "Q":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
break;
default:
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
break;
}//文字生成图片
Image image = qrCodeEncoder.Encode(strData, Encoding.UTF8);Bitmap bitmap = new Bitmap(image.Width + 3, image.Height + 3);
Graphics g = Graphics.FromImage(bitmap);
g.Clear(Color.White);
g.DrawRectangle(new Pen(Color.White), new Rectangle(0, 0, bitmap.Width, bitmap.Height));
g.DrawImage(image, new PointF(2, 2));string filename = DateTime.Now.ToString("yyyyMMddHHmmss");
string filepath = Server.MapPath(@"/Upload/" + filename + ".png");
bitmap.Save(filepath, System.Drawing.Imaging.ImageFormat.Png);return Content(@"/Upload/" + filename + ".png");
}
二维码解析:
public ActionResult QRCodeDecoderUtil(string bitmaps)
{
string fileUrl = Server.MapPath(@"/Upload/" + bitmaps);
Bitmap myBitmap = new Bitmap(Image.FromFile(fileUrl));
QRCodeDecoder decoder = new QRCodeDecoder();
string decodedString = decoder.decode(new
QRCodeBitmapImage(myBitmap),Encoding.UTF8);
return Content(decodedString);
}
.NET 二维码生成相关推荐
- 舒工深度解析不规则场地座位二维码生成规则
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 玩转Android之二维码生成与识别
二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...
- java 二维码生成和解析
2019独角兽企业重金招聘Python工程师标准>>> <!-- 二维码 --><dependency><groupId>com.google.z ...
- 支付宝支付 第五集:二维码生成工具
支付宝支付 第五集:二维码生成工具 一.代码 目录结构 BufferedImageLuminanceSource.java package com.dzy.alipay.qrcode;import c ...
- Android之二维码生成与扫描
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51260428 本文出自:[顾林海的博客] ##前言 月底离开公司,准备 ...
- [开源]C#二维码生成解析工具,可添加自定义Logo
原文:[开源]C#二维码生成解析工具,可添加自定义Logo 二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Co ...
- Java 快速开发二维码生成服务
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1. 前言 不知道从什么 ...
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency><groupId>com.google.zxing</groupId ...
- simple go web application 二维码生成 打包部署
go语言简易web应用 & 二维码生成及解码 & 打包部署 转载请注明出处: https://www.cnblogs.com/funnyzpc/p/10801476.html 前言(闲 ...
- 微信公众平台----带参数二维码生成和扫描事件
原文:微信公众平台----带参数二维码生成和扫描事件 摘要: 账号管理----生成带参数的二维码 消息管理----接收消息----接收事件推送 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众 ...
最新文章
- XamarinAndroid组件教程RecylerView动画组件使用动画(2)
- java 查询表 并返回数据_ajax与java前后台传值及数据表查询解决一个bug的问题
- java web自动化部署_JavaWeb项目自动化部署脚本
- 在阿里干了 5 年招聘,这 10 条建议我必须分享给你!
- Sql Server发布订阅如何添加新表如何不初始化整个快照
- css中调整高度充满_6个很棒的PostCSS插件,让您成为一个CSS向导
- Bailian4140 方程求解【二分法】
- vue从入门到进阶:Class 与 Style 绑定(四)
- php代码整理,值得注意的PHP代码样式规范
- 斐讯K3路由器TTL快速刷机
- Python数据处理 | 批量提取文件夹下的csv文件,每个csv文件根据列索引提取特定几列,并将提取后的数据保存到新建的一个文件夹
- 金碟财务软找不到服务器怎么办,金蝶财务软件KIS标准版客户端连接不上服务器解决办法.pdf...
- Mysql—— order 和 limit 的用法
- pymysql操作MySQL数据库表-----爬虫豆瓣top250电影并存入数据库
- G. I love Codeforces
- 树莓派GPIO控制/使用的教程
- IT职业规划:大公司VS小公司,怎样选择更有前途?
- 视频剪辑软件如何合并分割视频文件
- 《计算机应用基础》 东师,A东师《计算机应用基础》15春在线作业 .doc
- 编写第一个 Arduino 程序
热门文章
- 搭建企业级别nexus私服
- 【927. 三等分】
- js+php做省份城市选择,三级联动,前后端简单交互,最详细
- 西门子PID程序西门子PLC 1200和多台G120西门子变频器Modbud RTU通讯,带西门子触摸屏
- CPMP、PMP及IPMP的全面比较
- Windows将时间设置到秒的方法
- Winusb WinUsb_SetPipePolicy函数的使用
- 数字化门店拓客营销引流系统
- C# 淘宝商品微信返利助手开发-(五)返利助手开发(3)淘口令如何通过API转换为链接
- 【Docker】(八) Docker可视化工具Portainer(汉化)