二维码生成器源码
A. vfp怎样生成二维码的开源代码
环境: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)
{
}
}
}
B. 求个C#生成的二维码源码,文本、图片、名片都可以生成的二维码,类似微信。生成的二维码中间有图片的
同求,感谢![email protected]
C. 二维码生成器的制作原理是什么
制作原理:二维码其实就是由很多0、1组成的数字矩阵。二维条码/二维码是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的。
在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息。
通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性,每种码制有其特定的字符集。
每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。
(3)二维码生成器源码扩展阅读:
分类:
1、堆叠式/行排式二维码
堆叠式/行排式二维条码(又称堆积式二维条码或层排式二维条码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。
它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。
但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417等。
2、矩阵式二维码
短阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。
矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、 Data Matrix等。
D. 求一个用python easygui模块编写的二维码生成器代码,非常感谢
描述:我用的是py25,装的是0.97版的easygui,就出现了你这个问题,而在py27上就没有这个问题。
原因:这是语法问题,easygui使用的是高版本的python进行编译的,except Exception as inst:在py25里面应该是except Exception,inst:
解决方法:用替换法改成适应版本的语法比较麻烦,推荐用以下的解决办法,一是下载低版本的easygui,二是用高版本的python(2.6及以上)。
E. 如何制作二维码生成器,给个详细的过程,需要啥软件
制作二维码生成器的具体步骤如下:
1、首先打开微信,点击打开微信发现中的“小程序”选项。
F. 谁有二维码生成的源代码(java版本)的,能提供些吗
可以考虑使用图形绘制来解决二维码的生成问题,使用实例如下:
生成二维码
packagenet.qrcode;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjava.io.OutputStream;
importjavax.imageio.ImageIO;
importcom.google.zxing.common.BitMatrix;
{
//私有不可更改的变量:生成二维码图片的颜色
privatestaticfinalintBLACK=0xFF000000;
privatestaticfinalintWHITE=0xFFFFFFFF;
//空的构造方法
publicMartixToImageWriter(){
//TODOAuto-generatedconstructorstub
}
/**
*静态方法
*BufferedImage是Image的一个子类,BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便的操作这个图片,
*通常用来做图片修改操作如大小变换、图片变灰、设置图片透明或不透明等。
*@parammatrix编码形式
*@return
*/
(BitMatrixmatrix)
{
//图片的宽度和高度
intwidth=matrix.getWidth();
intheight=matrix.getHeight();
//BufferedImage.TYPE_INT_RGB将图片变为什么颜色
BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
for(intx=0;x<width;x++)
{
for(inty=0;y<height;y++)
{
image.setRGB(x,y,matrix.get(x,y)?BLACK:WHITE);
}
}
returnimage;
}
/**
*静态方法用于生成图片
*@parammatrix编码形式
*@paramformat图片类型
*@paramfile文件(图片路径,图片名称)
*@throwsIOException
*/
publicstaticvoidwriteToFile(BitMatrixmatrix,Stringformat,Filefile)throwsIOException
{
BufferedImageimage=toBufferedImage(matrix);
if(!ImageIO.write(image,format,file))
{
thrownewIOException("Couldnotwriteanimageofformat"+format+"to"+file);
}
}
/**
*输出
*@parammatrix
*@paramformat
*@paramstream
*@throwsIOException
*/
publicstaticvoidwriteToStream(BitMatrixmatrix,Stringformat,OutputStreamstream)throwsIOException
{
BufferedImageimage=toBufferedImage(matrix);
if(!ImageIO.write(image,format,stream))
{
thrownewIOException("Couldnotwriteanimageofformat"+format);
}
}
}
测试二维码是否生成成功
packagenet.qrcode;
importjava.io.File;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
importcom.google.zxing.BarcodeFormat;
importcom.google.zxing.EncodeHintType;
importcom.google.zxing.MultiFormatWriter;
importcom.google.zxing.common.BitMatrix;
publicclassTwoDimensionCode{
publicstaticvoidmain(String[]args){
try
{
System.out.println("请输入您要生成二维码的信息");
Scannerinput=newScanner(System.in);
Stringcontent=input.next();
Stringpath="C:\Users\Administrator\Desktop\二维码图片库";
=newMultiFormatWriter();
Maphints=newHashMap();
hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
//按照指定的宽度,高度和附加参数对字符串进行编码
//生成二维码
BitMatrixbitMatrix=multiFormatWrite.encode(content,BarcodeFormat.QR_CODE,400,400,hints);
Filefile1=newFile(path,userId+".jpg");
//写入文件
MartixToImageWriter.writeToFile(bitMatrix,"jpg",file1);
System.out.println("二维码图片生成成功!");
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}
G. 求:asp生成二维码的源码。
其实是一个误会,二维码本身存什么无所谓,只不过编码规则不一样而已。软能动力的网站上好像有免费用控件,可以用任何一种语言调用。他们家是专业做二维码的,号称从2005年就开始研发了。如果你不知道怎么样编码,你就给他们的技术打电话好了
H. 如何制作二维码生成器 中间 源码 csdn c++
码工具网上有制作二维码的工具。
I. 二维码生成程序C语言源代码
1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读龋通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。
J. 如何制作二维码生成器 带logo 源码 csdn c++
去码工具网上,有制作二维码的工具,带图标。