public void DrawImage(ref Bitmap bm, string code) { #if NETSTANDARD2_0 var writer = new ZXing.BarcodeWriter <Bitmap>(); #else var writer = new ZXing.BarcodeWriter(); #endif if (code.Length == 13) { writer.Format = ZXing.BarcodeFormat.EAN_13; } else if (code.Length == 8) { writer.Format = ZXing.BarcodeFormat.EAN_8; } else { writer.Format = ZXing.BarcodeFormat.CODE_128; } Graphics g = null; g = Graphics.FromImage(bm); float mag = PixelConversions.GetMagnification(g, bm.Width, bm.Height, OptimalHeight, OptimalWidth); int barHeight = PixelConversions.PixelXFromMm(g, OptimalHeight * mag); int barWidth = PixelConversions.PixelYFromMm(g, OptimalWidth * mag); writer.Options.Height = barHeight; writer.Options.Width = barWidth; writer.Options.PureBarcode = true; bm = writer.Write(code); }
private static void _encode(string content, string filePath, EncodingOptions options) { var writer = new ZXing.BarcodeWriter <Bitmap>(); writer.Format = BarcodeFormat.CODE_128; writer.Options = options; writer.Renderer = new BitmapRenderer(); var bitmap = writer.Write(content); bitmap.Save(filePath, ImageFormat.Png); }
/// <summary> /// 生成条形码 /// </summary> /// <param name="content">编码的内容字符串</param> /// <param name="filePath">生成的图片保存路径</param> /// <param name="height">生成图片的高度</param> /// <param name="width">生成图片的宽度</param> public static void Encode(string content, string filePath, int height, int?width = null) { EncodingOptions options = null; ZXing.BarcodeWriter <Bitmap> writer = null; options = new EncodingOptions { Height = height, PureBarcode = true }; if (width != null) { options.Width = (int)width; } writer = new ZXing.BarcodeWriter <Bitmap>(); writer.Format = BarcodeFormat.CODE_128; writer.Options = options; Bitmap bitmap = writer.Write(content); bitmap.Save(filePath, ImageFormat.Png); }