使用BarcodeLib.Barcode.ASP.NET生成条形码

生成条形码图片,然后在前台页面展示:

 <img id="img" src="Mobile/<%=url %>"/>
 public string url;

        protected void Page_Load(object sender, EventArgs e)
        {
            //string code = Get("6901028045575", 2, 60);

            //this.barcode.InnerHtml = code;

            BarcodeLib.Barcode.Linear ean13 = new BarcodeLib.Barcode.Linear();
            ean13.Type = BarcodeLib.Barcode.BarcodeType.EAN13;
            string code = "690102804559";
            ean13.Data = code;
            ean13.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
            ean13.BarColor = Color.Black;
            ean13.BarWidth = 2;
            ean13.LeftMargin = 4;
            ean13.RightMargin = 4;
            string path = System.Web.HttpContext.Current.Request.MapPath("/Mobile/") + code + ".jpeg";
            ean13.drawBarcode(path);
            url = code + ".jpeg";
        }

传入data时需要传入12位的数字。

下载地址:http://www.barcodelib.com/asp_net/main.html

下面参考资料转自:http://www.itnose.net/detail/6115587.html

首先效果:

生成,条形码,c#,barcodelib.dll,利用0

1:首先下载BarcodeLib.dll 下载地址 http://pan.baidu.com/share/link?shareid=2590968386&uk=2148890391&fid=1692834292 如果不存在了则自行搜索下载。

1.BarcodeLib.dll 一维条码库支持以下条码格式

UPC-A

UPC-E

UPC 2 Digit Ext.

UPC 5 Digit Ext.

EAN-13

JAN-13

EAN-8

ITF-14

Codabar

PostNet

Bookland/ISBN

Code 11

Code 39

Code 39 Extended

Code 93

LOGMARS

MSI

Interleaved 2 of 5

Standard 2 of 5

Code 128

Code 128-A

Code 128-B

Code 128-C

Telepen

然后项目中添加引用

[csharp]  view plaincopy
private void button6_Click(object sender, EventArgs e)  
    {  
        System.Drawing.Image image;  
        int width = 148, height = 55;  
        string fileSavePath = AppDomain.CurrentDomain.BaseDirectory + "BarcodePattern.jpg";  
        if (File.Exists(fileSavePath))  
            File.Delete(fileSavePath);  
        GetBarcode(height, width, BarcodeLib.TYPE.CODE128, "20131025-136", out image, fileSavePath);  
  
        pictureBox1.Image  = Image.FromFile("BarcodePattern.jpg");  
    }  
    public static void GetBarcode(int height, int width, BarcodeLib.TYPE type, string code, out System.Drawing.Image image, string fileSaveUrl)  
    {  
        try  
        {  
            image = null;  
            BarcodeLib.Barcode b = new BarcodeLib.Barcode();  
            b.BackColor = System.Drawing.Color.White;//图片背景颜色  
            b.ForeColor = System.Drawing.Color.Black;//条码颜色  
            b.IncludeLabel = true;  
            b.Alignment = BarcodeLib.AlignmentPositions.LEFT;  
            b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER;  
            b.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;//图片格式  
            System.Drawing.Font font = new System.Drawing.Font("verdana", 10f);//字体设置  
            b.LabelFont = font;  
            b.Height = height;//图片高度设置(px单位)  
            b.Width = width;//图片宽度设置(px单位)  
  
            image = b.Encode(type, code);//生成图片  
            image.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg);  
               
        }  
        catch (Exception ex)  
        {  
  
            image = null;  
        }  
    }  
简单的写一下。详细的去 http://www.barcodelib.com/net_barcode/main.html 这里看。

 

 

 

利用 zxing.dll生成条形码和二维码  下载地址http://zxingnet.codeplex.com/

ZXing (ZebraCrossing)是一个开源的,支持多种格式的条形码图像处理库, 。使用该类库可以方便地实现二维码图像的生成和解析。 

下载zxing.dll 项目参照引用

[csharp]  view plaincopy
{  
                MultiFormatWriter mutiWriter = new com.google.zxing.MultiFormatWriter();  
                ByteMatrix bm = mutiWriter.encode(txtMsg.Text, com.google.zxing.BarcodeFormat.QR_CODE, 300, 300);  
                Bitmap img = bm.ToBitmap();  
                pictureBox1.Image = img;  
  
                //自动保存图片到当前目录  
                string filename = System.Environment.CurrentDirectory + "\\QR" + DateTime.Now.Ticks.ToString() + ".jpg";  
                img.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);  
                lbshow.Text = "图片已保存到:" + filename;  
            }  
            catch (Exception ee)  
            { MessageBox.Show(ee.Message); }  



生成,条形码,c#,barcodelib.dll,利用1

 

 利用 QrCodeNet.dll生成条形码和二维码  下载地址http://qrcodenet.codeplex.com/

下载QrCodeNet.dll 项目参照引用

[csharp]  view plaincopy
  private void button2_Click(object sender, EventArgs e)  
        {  
            var codeParams = CodeDescriptor.Init(ErrorCorrectionLevel.H, textBox1.Text.Trim(), QuietZoneModules.Two, 5);  
  
            codeParams.TryEncode();  
  
            // Render the QR code as an image  
            using (var ms = new MemoryStream())  
            {  
                codeParams.Render(ms);  
  
                Image image = Image.FromStream(ms);  
                pictureBox1.Image = image;  
                if (image != null)  
                    pictureBox1.SizeMode = image.Height > pictureBox1.Height ? PictureBoxSizeMode.Zoom : PictureBoxSizeMode.Normal;  
            }  
  
        }  
 /// <summary>  
    /// Class containing the description of the QR code and wrapping encoding and rendering.  
    /// </summary>  
    internal class CodeDescriptor  
    {  
        public ErrorCorrectionLevel Ecl;  
        public string Content;  
        public QuietZoneModules QuietZones;  
        public int ModuleSize;  
        public BitMatrix Matrix;  
        public string ContentType;  
  
        /// <summary>  
        /// Parse QueryString that define the QR code properties  
        /// </summary>  
        /// <param name="request">HttpRequest containing HTTP GET data</param>  
        /// <returns>A QR code descriptor object</returns>  
        public static CodeDescriptor Init(ErrorCorrectionLevel level, string content, QuietZoneModules qzModules, int moduleSize)  
        {  
            var cp = new CodeDescriptor();  
  
            //// Error correction level  
            cp.Ecl = level;  
            //// Code content to encode  
            cp.Content = content;  
            //// Size of the quiet zone  
            cp.QuietZones = qzModules;  
            //// Module size  
            cp.ModuleSize = moduleSize;  
            return cp;  
        }  
  
        /// <summary>  
        /// Encode the content with desired parameters and save the generated Matrix  
        /// </summary>  
        /// <returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns>  
        public bool TryEncode()  
        {  
            var encoder = new QrEncoder(Ecl);  
            QrCode qr;  
            if (!encoder.TryEncode(Content, out qr))  
                return false;  
  
            Matrix = qr.Matrix;  
            return true;  
        }  
  
        /// <summary>  
        /// Render the Matrix as a PNG image  
        /// </summary>  
        /// <param name="ms">MemoryStream to store the image bytes into</param>  
        internal void Render(MemoryStream ms)  
        {  
            var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones));  
            render.WriteToStream(Matrix, System.Drawing.Imaging.ImageFormat.Png, ms);  
            ContentType = "image/png";  
        }  
    }  

效果:

生成,条形码,c#,barcodelib.dll,利用2

参考地址:

http://www.cnblogs.com/mzlee/archive/2011/03/19/Lee_Barcode.html

http://blog.163.com/smxp_2006/blog/static/588682542010215163803/

http://q.cnblogs.com/q/15253/

http://www.csharpwin.com/csharpspace/13364r9803.shtml

http://www.2cto.com/kf/201304/203035.html

 

转载于:https://www.cnblogs.com/kennyliu/p/4194135.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值