C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
来源:互联网 发布:穿越火线优化器 编辑:程序博客网 时间:2024/05/21 08:43
首先效果:
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二维码)
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
- C# 通过 BarcodeLib 生成条形码
- .NET C#利用ZXing生成、识别二维码/条形码
- 利用QrCodeNet 动态生成二维码
- Zxing生成二维码 条形码
- C#利用zxing.net生成二维码和条形码并实现打印的功能
- C#利用Zxing.net生成条形码和二维码并实现打印的功能
- C#利用Zxing.net生成二维码和条形码并实现打印的功能
- zxing生成二维码或者条形码
- Zxing二维码、条形码扫描/生成
- ZXing 生成二维码和条形码
- C#利用zxing.net操作二维码和条形码
- C#利用zxing.net操作二维码和条形码
- C#利用zxing.net操作二维码和条形码
- 利用zxing在android平台上实现条形码/二维码的识别(一)
- ZXing生成条形码、二维码、带logo二维码
- C++中引用(reference)的用法详解
- js使得数据延时加载实例
- perl 强制输出% 百分号
- CentOS 64位安装Memcached(Memcached installed in CentOS 64-bit systems)
- JSP/Servlet工作原理
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
- 多线程:一个简单的售票系统
- open text socket 下载地址
- 高性能网络编程六--reactor反应堆与定时器管理
- tcp和udp多线程的epoll服务器+客户端源代码
- tcp和UDP
- JAVA控制台输入输出员工信息
- sublime的sidebar自定义
- 智能聊天机器人小黄鸡及其制作方法