用C#如何生成二維碼,我們可以通過現有的第三方dll直接來實現,下面列出幾種不同的生成方法:
1):通過QrCodeNet(Gma.QrCodeNet.Encoding.dll)來實現
1.1):首先通過VS2015的NuGet下載對應的第三方組件,如下圖所示:
1.2):具體生成二維碼方法如下
private void GenerateQRByQrCodeNet(){QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);QrCode qrCode = new QrCode();qrEncoder.TryEncode("Hello World. This is Eric Sun Testing...", out qrCode);GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);using (MemoryStream ms = new MemoryStream()){renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);Image img = Image.FromStream(ms);img.Save("E:/csharp-qrcode-net.png");}}
更多詳細信息請參考如下鏈接:
http://qrcodenet.codeplex.com/
http://stackoverflow.com/questions/7020136/free-c-sharp-qr-code-generator
2):通過ThoughtWorks.QRCode(ThoughtWorks.QRCode.dll)來實現
1.1):首先通過VS2015的NuGet下載對應的第三方組件,如下圖所示:
1.2):具體生成二維碼方法如下
private void GenerateQRByThoughtWorks(){QRCodeEncoder encoder = new QRCodeEncoder();encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//編碼方式(注意:BYTE能支持中文,ALPHA_NUMERIC掃描出來的都是數字)encoder.QRCodeScale = 4;//大小(值越大生成的二維碼圖片像素越高)encoder.QRCodeVersion = 0;//版本(注意:設置為0主要是防止編碼的字符串太長時發生錯誤)encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//錯誤效驗、錯誤更正(有4個等級)encoder.QRCodeBackgroundColor = Color.Yellow;encoder.QRCodeForegroundColor = Color.Green;string qrdata = "Hello 世界! This is Eric Sun Testing....";Bitmap bcodeBitmap = encoder.Encode(qrdata.ToString());bcodeBitmap.Save(@"E:/HelloWorld.png", ImageFormat.Png);bcodeBitmap.Dispose();}
3):通過Spire.BarCode(Spire.BarCode.dll)來實現
1.1):首先通過VS2015的NuGet下載對應的第三方組件,如下圖所示:
1.2):具體生成二維碼方法如下
private void GenerateQRBySpire(){BarcodeSettings bs = new BarcodeSettings(){Data = "This is qr code: H2AMK-Z3V69-RTJZD-C7JAU-WILL4",Type = BarCodeType.QRCode,TopTextColor = Color.Red,ShowCheckSumChar = false,ShowText = false};//Generate the barcode based on the this.barCodeControl1BarCodeGenerator generator = new BarCodeGenerator(bs);Image barcode = generator.GenerateImage();//save the barcode as an imagebarcode.Save(@"E:/barcode-2d.png");}
1.3):附加具體生成條形碼方法如下
private void GenerateBarCodeBySpire(){BarcodeSettings bs = new BarcodeSettings(){Data = "This is barcode: H2AMK-Z3V69-RTJZD-C7JAU-WILL4",ShowCheckSumChar = false,TopTextColor = Color.Red,ShowTopText = false,ShowTextOnBottom = true};//Generate the barcode based on the this.barCodeControl1BarCodeGenerator generator = new BarCodeGenerator(bs);Image barcode = generator.GenerateImage();//save the barcode as an imagebarcode.Save(@"E:/barcode.png");}
1.3):上訴代碼我們發現生成的條形碼和二維碼帶有水印[E-ICEBLUE],如何去除水印呢?請看如下代碼
BarcodeSettings.ApplyKey("......");
請發送郵件到 sales@e-iceblue.com 免費獲取對應的 key 值
更多詳細信息請參考如下鏈接:
http://freebarcode.codeplex.com/
http://www.e-iceblue.com/Knowledgebase/Spire.BarCode/Program-Guide/Programme-Guide-for-Spire.BarCode.html
4):通過Barcode Rendering Framework(Zen.Barcode.Rendering.Framework.dll)來實現
4.1):首先通過VS2015的NuGet下載對應的第三方組件,如下圖所示:
4.2):具體生成二維碼方法如下
private void GenerateBarCodeByZen(){Code128BarcodeDraw barcode128 = BarcodeDrawFactory.Code128WithChecksum;Image img = barcode128.Draw("Hello World", 40);img.Save("E:/zenbarcode.gif");}
4.3):附加具體生成條形碼方法如下
private void GenerateQRByZen(){CodeQrBarcodeDraw qrcode = BarcodeDrawFactory.CodeQr;Image img = qrcode.Draw("Hello World!", qrcode.GetDefaultMetrics(40));img.Save("E:/zenqrcode.gif");}
更多詳細信息請參考如下鏈接:
http://barcoderender.codeplex.com/
5):通過BarcodeLib(BarcodeLib.Barcode.ASP.NET.dll)來實現,下載對應dll的連接為 http://www.barcodelib.com/asp_net/
5.1):具體生成二維碼方法如下
private void GenerateQRByBarcodeLib(){QRCode qrbarcode = new QRCode();qrbarcode.Encoding = QRCodeEncoding.Auto;qrbarcode.Data = "336699885522 This is Eric Sun Testing.";qrbarcode.ModuleSize = 10;qrbarcode.LeftMargin = 8;qrbarcode.RightMargin = 8;qrbarcode.TopMargin = 8;qrbarcode.BottomMargin = 8;qrbarcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Gif;// Save QR Code barcode image into your systemqrbarcode.drawBarcode("E:/csharp-qrcode-lib.gif");}
5.2):附加具體生成條形碼方法如下
private void GenerateLinearByBarcodeLib(){Linear barcode = new Linear();barcode.Type = BarcodeType.CODE128;barcode.Data = "CODE128";// other barcode settings.// save barcode image into your systembarcode.drawBarcode("E:/barcode.png");}
我們使用的是試用版(帶水印的......),還有付費的正版,詳情請參考如下鏈接:
http://www.barcodelib.com/asp_net/
以上所述是小編給大家介紹的C#通過第三方組件生成二維碼(QR Code)和條形碼(Bar Code),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答