using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Drawing.Imaging; using ZXing.Common; using ZXing; using System.Drawing; using Gma.QrCodeNet.Encoding; using Gma.QrCodeNet.Encoding.Windows.Render; using System.IO; namespace autuPrint.printService { class QrCodeAndBarCode { /// /// 生成二维码 /// /// 二维码字符串内容 /// 成功返回二维码图片,失败返回空 public static Image printQr(string Qr) { try { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode(Qr, 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:/二维码.png"); return img; } } catch (Exception) { return null; } } /// /// 生产条形码 /// /// 条形码内容 /// 成功返回图片 public static Image printBr(string Br) { try { EncodingOptions encodeOption = new EncodingOptions(); encodeOption.Height = 60; // 必须制定高度、宽度 encodeOption.Width = 240; encodeOption.PureBarcode = true; // 2.生成条形码图片并保存 ZXing.BarcodeWriter wr = new BarcodeWriter(); wr.Options = encodeOption; // wr.Format = BarcodeFormat.CODE_39; // 这里可以设定条码的标准 wr.Format = BarcodeFormat.CODE_128; Bitmap img = wr.Write(Br); return img; } catch (Exception) { return null; } } } }