Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }