.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中画,希望本文的内容对大家的学习或者工作能带来一定的帮助