vfp怎样生成二维码的开源代码

 我来答
千锋教育
2017-03-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
环境:Visual Studio 2013
准备工作:引入一个dll——ThoughtWorks.QRCode
dll作用:封装成熟的二维码算法等(有包不用自己写的,我觉得都是大仙)
引入dll方法:
(1)打开“程序包管理控制台”(视图——其他窗口——程序包管理控制台)
(2)Install-Package -ProjectName 你的项目名称 ThoughtWorks.QRCode
(3)等待等待等待等待。。。。。。。然后装完。

生成二维码的核心代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//mapPath:网站根目录
//fileSaveFolder:相对路径
//link:链接或者文本
public static string
GenerateLinkQRCode
(string mapPath, string fileSaveFolder, string link)
{
QRCodeEncoder qr = new QRCodeEncoder()
{
//编码
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
//二维码缩放
QRCodeScale = 4,
//数字越小,二维码密度越小,
//可容纳的文本越少
QRCodeVersion = 4,
//
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
};

//存放路径处理
if (!Directory.Exists(mapPath + fileSaveFolder))
{
Directory.CreateDirectory(mapPath + fileSaveFolder);
}

//给二维码图片取名字
//规则可任意修改
string fileName = "QRCode" +
DateTime.Now.ToString("yyyyMMddHHmmss") +
随机字符串 +
".png";

//存放二维码的绝对路径
string filePath = mapPath + fileSaveFolder + fileName;

//生成二维码图片放在内存中
Bitmap bitmap = qr.Encode(link);
//保存图片到服务器磁盘(本地保存)
Bitmap.Save(filePath, System.Drawing.Imaging.ImageFormat.Png);
//准备返回二维码图片相对路径
string result = fileSaveFolder + fileName;
result = "/" + result.Replace(@"\", "/");
//输出结果,就是二维码的路径
return result;
}
本回答由提问者推荐评论 0 0

J_oin
采纳率:42% 擅长: JavaScript C#/.NET 编程语言 Html/Css
其他回答
新建一个window应用程序,然后引入.NET二维码类库(开源的类库,可从网上下载):
核心代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WinQRCode

{

using ThoughtWorks.QRCode.Codec;

using ThoughtWorks.QRCode.Codec.Data;

using ThoughtWorks.QRCode.Codec.Util;

using System.IO;

using PdfToImage;

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

/// <summary>

/// 编码

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button1_Click(object sender, EventArgs e)

{

if (this.textBox1.Text != "")

{

Cursor.Current = Cursors.WaitCursor;

if (textBox1.Text.Trim() == String.Empty)

{

MessageBox.Show("不能为空.");

return;

}

QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

qrCodeEncoder.QRCodeScale = 4;

qrCodeEncoder.QRCodeVersion = 7;

qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

System.Drawing.Image image;

String data = textBox1.Text;

//编码

image = qrCodeEncoder.Encode(data);

//图片显示

this.pictureBox1.Image = image;

Cursor.Current = Cursors.Default;

}

}

/// <summary>

/// 解码

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button2_Click(object sender, EventArgs e)

{

Cursor.Current = Cursors.WaitCursor;

Bitmap b = this.pictureBox1.Image as Bitmap;

try

{

QRCodeDecoder decoder = new QRCodeDecoder();

//解码

String decodedString = decoder.decode(new QRCodeBitmapImage(b));

//显示解码信息

this.lbl解码信息.Text += decodedString ;

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

Cursor.Current = Cursors.Default;

}

private void Form1_Load(object sender, EventArgs e)

{

}

}

}
AiPPT
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能... 点击进入详情页
本回答由AiPPT提供
jack_wang0823
2017-03-02 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1448万
展开全部
使用 qrmarker 组件就可以 生成了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式