C# 利用BarcodeLib.dll產生條碼(一維,zxing,QrCodeNet/dll二維碼)

來源:互聯網
上載者:User

標籤:

原文:http://blog.csdn.net/kongwei521/article/details/17588825

 

首先效果:

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

然後項目中添加引用

 
    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 項目參照引用

 
{                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); }

 

 

 

 

利用 QrCodeNet.dll產生條碼和二維碼  http://qrcodenet.codeplex.com/

下載QrCodeNet.dll 項目參照引用

 

  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"; } }

 


效果:

參考地址:

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

C# 利用BarcodeLib.dll產生條碼(一維,zxing,QrCodeNet/dll二維碼)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.