.NET C#利用ZXing生成、识别二维码/条形码
一、首先下载ZXing.Net
地址是:http://zxingnet.codeplex.com/releases/view/117068
然后将对应版本.dll拖入项目中,再引用之。
主要是用BarcodeWriter、BarcodeReader。
二、生成二维码
.NET平台的代码始终要简单些。
QrCodeEncodingOptionsoptions=newQrCodeEncodingOptions();
options.CharacterSet="UTF-8";
options.DisableECI=true;//ExtendedChannelInterpretation(ECI)主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。
options.ErrorCorrection=ZXing.QrCode.Internal.ErrorCorrectionLevel.H;//纠错级别
options.Width=300;
options.Height=300;
options.Margin=1;
//options.Hints,更多属性,也可以在这里添加。
BarcodeWriterwriter=newBarcodeWriter();
writer.Format=BarcodeFormat.QR_CODE;
writer.Options=options;
Response.Clear();
using(Bitmapbmp=writer.Write("http://www.cftea.com"))//Write具备生成、写入两个功能
{
MemoryStreamms=newMemoryStream();
{
bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
Response.ContentType="image/png";
Response.BinaryWrite(ms.ToArray());
}
}
Response.End();
纠错级别:
- L-约7%纠错能力。
- M-约15%纠错能力。
- Q-约25%纠错能力。
- H-约30%纠错能力。
三、生成条形码
QrCodeEncodingOptionsoptions=newQrCodeEncodingOptions();
options.CharacterSet="UTF-8";
options.Width=300;
options.Height=50;
options.Margin=1;
options.PureBarcode=false;//是否是纯码,如果为false,则会在图片下方显示数字
BarcodeWriterwriter=newBarcodeWriter();
writer.Format=BarcodeFormat.CODE_128;
writer.Options=options;
Response.Clear();
using(Bitmapbmp=writer.Write("12345678"))
{
MemoryStreamms=newMemoryStream();
{
bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
Response.ContentType="image/png";
Response.BinaryWrite(ms.ToArray());
}
}
Response.End();
四、识别二维码、条形码
BarcodeReaderreader=newBarcodeReader();
reader.Options.CharacterSet="UTF-8";
using(Bitmapbmp=newBitmap("D:\\qr.png"))
{
Resultresult=reader.Decode(bmp);
Response.Write(result.Text);
}
总结
好了,以上就是这篇文章的全部内容了,如果要改变背景颜色、画头像,可以直接在Bitmap中画,希望本文的内容对大家的学习或者工作能带来一定的帮助