Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
我想把当前表的第一列产生一个二维码(纠错水平:M,QR版本:7,QR码大小:3,产生的二维码图像保存在“d:\图像”目录下),在狐表中应该怎么做?
我有一个二维码dll 文件QRCodeLib.dll,并且有示例说明如下:
///二维码
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
String encoding = "Byte";
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
int scale = Convert.ToInt16(QR码大小);
qrCodeEncoder.QRCodeScale = scale;
int version = Convert.ToInt16(QR码版本);
qrCodeEncoder.QRCodeVersion = version;
string errorCorrect = cboCorrectionLevel.Text;
if (errorCorrect == "L")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
else if (errorCorrect == "M")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
else if (errorCorrect == "Q")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
else if (errorCorrect == "H")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
Image image;
String data = 条形码数据;
image = qrCodeEncoder.Encode(data);
image.Save(文件路径, System.Drawing.Imaging.ImageFormat.Jpeg);
看代码,这是一个托管dll,引用起来很简单了。
把QRCodeLib.dll放到foxtable目录下面就能直接用了。
Dim qrCodeEncoder As new QRCodeEncoder
Dim encoding As String= "Byte"
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE
Din scale As Integer = Convert.ToInt16(3)
qrCodeEncoder.QRCodeScale = scale
Dim version As Integer = Convert.ToInt16(7)
qrCodeEncoder.QRCodeVersion = version
Dim errorCorrect As String = cboCorrectionLevel.Text
if errorCorrect = "L" Then
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L
elseif errorCorrect = "M" Then
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
elseif errorCorrect = "Q" Then
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q
elseif (errorCorrect = "H" Then
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H
End If
Dim image As Image
Dim data As String = Tables("表A").Current("第一列")
image = qrCodeEncoder.Encode(data)
image.Save("d:\图像\a.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
大概是这样的 。没调试,可能有些错误
哦 仔细看了一下。 cboCorrectionLevel.Text是组合框 让你选纠错水平的 这里可以去掉
为了理解 我把代码简化一下:
Dim q As new QRCodeEncoder
q.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE
q.QRCodeScale = 3
q.QRCodeVersion = 7
q.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
Dim image As Image
Dim data As String = Tables("表A").Current("第一列")
image = q.Encode(data)
image.Save("d:\图像\a.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
呵呵 看4楼
要添加一下引用
呵呵 看4楼
要添加一下引用
已经添加了啊
是命名空间的事情。你把dll发上来,把命名空间也导入就可以了