C# 利用BarcodeLib.dll生成条形码
首先效果:
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生成条形码的更多相关文章
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
原文:http://blog.csdn.net/kongwei521/article/details/17588825 首先效果: 一.下载BarcodeLib.dll 下载地址 :http://do ...
- C#利用Zxing.net生成条形码和二维码并实现打印的功能
开篇:zxing.net是.net平台下编解条形码和二维码的工具. 下载地址:http://pan.baidu.com/s/1kTr3Vuf Step1:使用VS2010新建一个窗体程序项目: ...
- python笔记 利用python 自动生成条形码 二维码
1. ean13标准条形码 from pystrich.ean13 import EAN13Encoder encode = EAN13Encoder(') encode.save('d:/barco ...
- 使用BarcodeLib.Barcode.ASP.NET生成条形码
生成条形码图片,然后在前台页面展示: <img id="img" src="Mobile/<%=url %>"/> public str ...
- C# 利用ZXing.Net来生成条形码和二维码
本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...
- C# 生成条形码
原文地址:http://www.cnblogs.com/xcsn/p/4514759.html 引用BarcodeLib.dll(百度云中有)生成条形 protected void Button2_C ...
- 使用html2canvas实现批量生成条形码
/*前台代码*/ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Generat ...
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html 上一讲中讲了VS20 ...
- 使用PHP-Barcode轻松生成条形码(一)
最近由于工作需要,研究了一下PHP如何生成条形码.虽然二维码时下比较流行,但是条形码依然应用广泛,不可替代.园子里有很多讲利用PHP生成条形码的文章,基本上都是围绕Barcode Bakery的,它虽 ...
随机推荐
- json(gson) 转换html标签带来的麻烦
gson 转换html标题时,会把html(特殊字符转换为unicode编码) ,所以为了避免这个问题GsonBuilder类 有一个 disablehtmlEscaping方法. 就可以让gson类 ...
- vmstat,iostat,sar命令详解
Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数.此数由 linux 计算得出,但 linux 并不耗尽交换空间 Memory swpd: 虚拟内 ...
- 关于网页强制被跳转到wpkg.org的解决
今天登陆MIT的网站看一篇文章,在进入到页面的时候,网页就会自动跳转到wpkg.org这个网页,查了下据说是DNS被污染了,暂时还是不是很清楚,先把问题解决了. 方法: 在C:\WINDOWS\sys ...
- 九度OJ 1372 最大子向量和(连续子数组的最大和)
题目地址:http://ac.jobdu.com/problem.php?pid=1372 题目描述: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天JOBDU测试组开完会后,他又发话了:在 ...
- IOS 学习笔记 2015-03-18
Objective--C 一 关键字 1 KVC 动态设值,动态取值,类似雨java中的反射,而且私有的照样可以设置与获取 2 二 函数 1 retain 给对象引用计数器 + 1 2 release ...
- IOS代理
之前看过一些关于代理的资料,始终感觉还是很模糊,最近抽出一段空闲的时间,将这块内容整理下: 什么是代理,顾名思义就是帮别人做些事情,比如买房子,当我们买房子时,我们一般会找房屋中介,因为他们就是干这件 ...
- python 自动化之路 day 08_2 网络编程
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- 两个for循环例子
var i,j; var a=0; // for(i=0,j=0;i<5,j<7;i++,j++){ // a=i+j; // } // alert(a) //12 for(i=0,j=0 ...
- openwrt opkg update wget returned 4 wget returned 1
最近在正捣鼓mt7620芯片的路由器,刷入openwrt Pandora系统以后想装wifidog实现web认证. 我用我自己的一个水星的路由器PPPOE拨号,通过水星的lan口连接网线到我openw ...
- window.onresize 多次触发的解决方法
用了window.onresize但是发现每次 onresize 后页面中状态总是不对,下面与大家分享下onresize 事件多次触发的解决方法. 之前做一个扩展,需要在改变窗口大小的时候保证页面显示 ...