xarrow
2014-08-09 15:45:36 +08:00
<pre>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
namespace WindowsFormsApplication2
{
//构造类
class QRCode {
//构造方法
public QRCode(PictureBox pic)
{
//实例化
ThoughtWorks.QRCode.Codec.QRCodeEncoder coder = new QRCodeEncoder();
//编码方法
coder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
//大小
coder.QRCodeScale = 25;
//版本
coder.QRCodeVersion = 0;
//纠错码等级
// QR码有容错能力,QR码图形如果有破损,仍然可以被机器读取内容,
//最高可以到7%~30%面积破损仍可被读取。所以QR码可以被广泛使用在运输外箱上。
//相对而言,容错率愈高,QR码图形面积愈大。所以一般折衷使用15%容错能力。
//错误修正容量
//L水平 7%的字码可被修正
//M水平 15%的字码可被修正
//Q水平 25%的字码可被修正
//H水平 30%的字码可被修正
coder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
string str = "Hello,World";
/*建议使用UTF8 编码,提供中文
QR码数据容量
数字 最多7,089字符
字母 最多4,296字符
二进制数(8 bit) 最多2,953 字节
日文汉字/片假名 最多1,817字符(采用Shift JIS)
中文汉字 最多984字符(采用UTF-8)
中文汉字 最多1,800字符(采用BIG5)
*/
System.Drawing.Bitmap b = coder.Encode(str.ToString(), Encoding.UTF8);
Image i = b;
//Object o = System.Reflection.Missing.Value;
pic.Image = b;
pic.SizeMode = PictureBoxSizeMode.Zoom;
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
QRCode qr = new QRCode(pictureBox1);
}
}
}
</pre>
以前用C#写的,比较乱..