相关文章推荐
焦虑的骆驼  ·  关于Excel vba ...·  11 月前    · 
文雅的小蝌蚪  ·  群晖 ...·  1 年前    · 
知识渊博的紫菜  ·  Mybatis-Plus ...·  1 年前    · 

其实生成二维码的组件有很多种,如:QrcodeNet,ZKWeb.Fork.QRCoder,QRCoder等

我选QRCoder,是因为小而易用、支持大并发生成请求、不依赖任何库和网络服务。

既然是.net core 那当然要用依赖注入,通过构造函数注入到控制器。

Asp.net Core:2.0

(开发时最新)

Snai.QRCode.Api  Asp.net core 2.0 Api网站

新建Snai.QRCode解决方案,在解决方案下新建一个名Snai.QRCode.Api Asp.net core 2.0 Api网站

在 依赖项 右击 管理NuGet程序包 浏览 找到 QRCoder 版本1.3.3 下载安装

由于使用依赖注入,依赖抽象不依赖实现,所以要建一个实现二维码的接口

在项目添加 Common 文件夹,在文件夹添加 IQRCode 二维码接口,接口定义 GetQRCode 二维码方法,代码如下

在 Common 目录下添加 RaffQRCode 类,继承IQRCode接口实现 GetQRCode 类,代码如下

修改Startup.cs代码,注入RaffQRCode类到容器

代码如下:

在Controllers 下添加QRCodeController Api空的控制器,采用构造函数依赖,引入RaffQRCode类

添加GetQRCode(string url, int pixel)方法,加入HttpGet("/api/qrcode")路由地址,方法里使用_iQRCode.GetQRCode(url, pixel)生成二维码再输出

代码如下:

到此所有代码都已编写完成

启动运行项目, 在浏览器打开 http://localhost:5000//api/qrcode?url=http://www.baidu.com&pixel=4 地址,得到url参数域名的二维码

/* GetGraphic方法参数说明
public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)
*
int pixelsPerModule:生成二维码图片的像素大小 ,我这里设置的是5
*
Color darkColor:暗色   一般设置为Color.Black 黑色
*
Color lightColor:亮色   一般设置为Color.White  白色
*
Bitmap icon :二维码 水印图标 例如:Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默认为NULL ,加上这个二维码中间会显示一个图标
*
int iconSizePercent: 水印图标的大小比例 ,可根据自己的喜好设置
*
int iconBorderWidth: 水印图标的边框
*
bool drawQuietZones:静止区,位于二维码某一边的空白边界,用来阻止读者获取与正在浏览的二维码无关的信息 即是否绘画二维码的空白边框区域 默认为true

*/

源码访问地址:https://github.com/Liu-Alan/Snai.QRCode

原文地址: https://www.cnblogs.com/alan-lin/p/9193290.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

从html到css到javascript到vbscript到c#,从兴趣到职业,生活总是失落与惊喜并存。 绝大部分时候,出发并不是因为知道该到哪里去,只是知道不能再逗留下去了,如此而已。受过风吹雨打之后会有很多独有的感受及思考,主见开始生发并在摇摆中坚定,想来这就是成长了,嗯……就算是成长吧,呵呵! 话说微软的 .net cor...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 安装记录一、获取rpm包二、yum搜索三、安装mysql client四、安装mysql server五、mysql配置5.1 密码设置5.1.1 关闭mysql服务5.1.2 修改配置文件5.1.3 开启mysql服务5.1.4 空密码登录mysql5.1.5 设置mysql密码5.1.6 还原配置文件5.2 远程配置1.引入库2.读入数据总结 一、获取rpm包 rpm -ivh https://repo.mysql.com//mysq
/// <param name="url">数据路径</param> ///<returns></returns> public Image CreateQRCodeNet(string url) using (var ms = new MemoryStream())
#region 生成专家流程确认个人小程序二维码 public static string GetwxCode(string id,string email,string root) { string url = ""; string tokenUrl = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={"wxafcbed..
// 绘制一个红色的矩形 Rectangle rect = new Rectangle(0, 0, 200, 200); SolidBrush brush = new SolidBrush(Color.Red); graphics.FillRectangle(brush, rect); // 保存图片到文件 bitmap.Save("image.jpg", ImageFormat.Jpeg); 这个示例代码创建了一个 200x200 的红色矩形,并将其保存为 JPEG 格式的图片。你可以根据自己的需求修改代码,生成不同的图片。