.net后台生成条形码

这里使用到一个插件【BarcodeLib.dll】

首先引用这个插件

using BarcodeLib;

using System.Drawing;【注意引用这个之后会和程序原本的一个引用其冲突,删除原本引用的就可以依靠】


【WinForm版本】

//触发事件
        private void draw_Click(object sender, EventArgs e)
        {
            const int width = 250;
            const int height = 100;

            TYPE type;
            //switch (cmbType.Text)
            //{
            //    case "Code39":
            //        type = TYPE.CODE39; break;
            //    default:
            //        type = TYPE.CODE128; break;
            //}
            type = TYPE.CODE39;
            //var code = txtCode.Text;
            var code = "1234567890000";
            Image image;
            GetBarcode(width, height, type, code, out image);

            pictureBar.Width = width;//pictureBar是pictureBox控件
            pictureBar.Height = height;
            pictureBar.Image = image;
        }

        #region 生成条形码  
        /// <summary>  
        /// 生成条形码  
        /// </summary>  
        static byte[] GetBarcode(int width, int height, TYPE type, string code, out Image image)
        {
            Barcode b = new Barcode
            {
                BackColor = Color.White, //图片背景颜色  
                ForeColor = Color.Black, //条码颜色  
                IncludeLabel = true,
                Alignment = AlignmentPositions.CENTER,
                LabelPosition = LabelPositions.BOTTOMCENTER,
                ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg, //图片格式  
                LabelFont = new Font("verdana", 10f), //字体设置  
                Height = height, //图片高度  
                Width = width //图片宽度  
            };

            image = b.Encode(type, code);//生成图片  
            byte[] buffer = b.GetImageData(SaveTypes.GIF);//转换byte格式  
            return buffer;
        }
        #endregion



Web版本【和Winform一样,由于没有pictureBox控件所以用<asp:Image ID="pictureBar" runat="server" />】

//触发事件
protected void Button1_Click1(object sender, EventArgs e)
        {

           

            const int width = 250;
            const int height = 100;

            TYPE type;
            //switch (cmbType.Text)
            //{
            //    case "Code39":
            //        type = TYPE.CODE39; break;
            //    default:
            //        type = TYPE.CODE128; break;
            //}
            type = TYPE.CODE39;
            //var code = txtCode.Text;
            var code = "123456789012";
            Image image;
            byte[] gg = GetBarcode(width, height, type, code, out image);

            pictureBar.Width = width;
            pictureBar.Height = height;
           


            System.Drawing.Bitmap images = new System.Drawing.Bitmap(image);
            string imgname = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
            string path = "UpPhoto/" + imgname;
            image.Save(Server.MapPath(path));
            this.pictureBar.ImageUrl = path;

            

          



        }


  #region 生成条形码
        /// <summary>  
        /// 生成条形码  
        /// </summary>  
        static byte[] GetBarcode(int width, int height, TYPE type, string code, out Image image)
        {
            Barcode b = new Barcode
            {
                BackColor = Color.White, //图片背景颜色  
                ForeColor = Color.Black, //条码颜色  
                IncludeLabel = true,
                Alignment = AlignmentPositions.CENTER,
                LabelPosition = LabelPositions.BOTTOMCENTER,
                ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg, //图片格式  
                LabelFont = new Font("verdana", 10f), //字体设置  
                Height = height, //图片高度  
                Width = width //图片宽度  
            };

            image = b.Encode(type, code);//生成图片  
            byte[] buffer = b.GetImageData(SaveTypes.GIF);//转换byte格式  
            return buffer;
        }
        #endregion

最后附加【BarcodeLib.dll】下载地址链接: 下载地址 密码: ygc1

.Net 条码组件包括两个独立组件: BarcodeNet: 用于生成条码,BarcodeScanNet: 用于条码识别 一、条码生成组件(BarcodeNet.dll) 1.功能说明   BarcodeNet是 .Net 下的条形码组件,支持如下类型: CODE39,CODE39Extended, Codabar, UPCA, UPCE, EAN13, EAN8, Interleaved2of5, PostNet, ISBN, CODE128, CODE93等 - 将条码保存为 BMP、GIF、JPG、PNG、TIFF等文件格式 - 设置条码宽度和高度 - 设置条码背景和前景颜色 支持的开发环境包括: VS.Net 2005, VS.Net 2008, VS.Net 2010, Delphi .Net,Delphi,Visual Basic等 2.使用说明 Barcode bar = new Barcode(); bar.ShowCode = true; bar.Width = 400; bar.Height = 150; // bar.SerialNo = ""; //注册后请给序列号赋值,否则只能产生"123456789012"固定条玛 PictureBox imgBarcode = new PictureBox(); imgBarcode.Image = bar.GenerateImage(BarcodeNet.TYPE.CODE39,"1234"); 可以参考 demo 程序。 * Delphi: 要求安装.Net Framework 2.0的环境。先运行Com目录下的RegisterForCOM.bat进行组件注册,然后才能使用。 使用方法可以参考 delphi目录下demo 程序。 二、条码识别组件(BarcodeScanNet.dll) 1.功能说明   BarcodeScanNet是 .Net 下的条形码图像扫描识别组件,支持如下类型: CODE39,EAN/UPC,CODE128 - 可以从BMP、GIF、JPG、PNG、TIFF等文件中扫描识别条码 - 支持水平或垂直扫描 - 可以扫描图像中的多个条码 支持的开发环境包括: VS.Net 2003, VS.Net 2005, VS.Net 2008, VS.Net 2010, Delphi .Net, Delphi,Visual Basic等 2.使用说明 System.Collections.ArrayList barcodes = new ArrayList(); //BarcodeFromImage.SerialNo = ""; //注册后请给序列号赋值,否则ScanImage函数只会显示条码,barcodes中不会包含扫描到的条码 BarcodeFromImage.ScanImage(ref barcodes,pictureBox1.Image as Bitmap); //注册后barcodes中返回扫描到的条码,如果图像中有重复的条码会自动去除 可以参考 demo 程序。 * Delphi: 要求安装.Net Framework 2.0的环境。先运行Com目录下的RegisterForCOM.bat进行组件注册,然后才能使用。 使用方法可以参考 delphi目录下demo 程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值