条形码图像生成库

此类库提供了一个易用的类,供那些需要根据字符串数据生成条形码图像的开发人员使用。

 

C# (C# 2.0)
Windows (Win2K, WinXP, Win2003), .NET (.NET 2.0)
Win32, VS (VS2005), WinForms
Dev
发表日期:2007-10-10
更新日期:2007-10-16

 

简介

本文及其代码为那些需要在应用程序中放置条形码的开发人员提供了一种方法。 它允许生成条形码图像,而无须使用“条码字体”。This need arose out of the necessity for one of my own projects to use barcodes and the lack of free libraries on the web to do the job.

在此类库中给出了编码的思路。 首先将数据转换为 1 和 0 的等宽条形和空白描述 系列。 然后将二进制信息 字符串传递 到一个绘图函数,绘图函数将它转换为所需的条形码图像。这种方法可以作为一个通用的绘图方法,适用于所有的图像编码 。 

代码使用

此类库包含一个名为 Barcode 的类(BarcodeLib 命名空间)。Barcode 类有三个构造函数:

Barcode();
Barcode(string data);
Barcode(string data, BarcodeLib.TYPE iType);

如果你决定使用参数创建此类的实例,参数如下:

string data : 准备编码为条形码的数据
BarcodeLib.TYPE iType:  数据的编码方法(编码类型)

如果在创建类的实例 时,没有指定编码数据和类型(参数),以后你可以通过设置适当的属性值来指定它们(但是需要在编码之前指定)。

BarCodeLib.Barcode b = new
 BarCodeLib.Barcode("038000356216"
, BarCodeLib.TYPE.UPCA);

 

 要得到数据编码后生成的条形码图像,你必须调用下列的 Encode 函数之一:

public
 Image Encode(TYPE iType, string
 StringToEncode, double
 percent)
public Image Encode(TYPE iType, double percent)
public Image Encode(TYPE iType, string StringToEncode, int Width, int Height)
public Image Encode(TYPE iType, int Width, int Height)
public Image Encode(TYPE iType, string StringToEncode, Color DrawColor, Color BackColor, double percent)
public Image Encode(TYPE iType, string StringToEncode, Color DrawColor, Color BackColor, int Width, int Height)
public Image Encode(TYPE iType, string StringToEncode, Color DrawColor, Color BackColor)
public Image Encode(TYPE iType, Color DrawColor, Color BackColor)
public Image Encode(TYPE iType, string StringToEncode)
public Image Encode(TYPE iType)public Image Encode()

 Image 类型的返回结果包含了图像格式的条形码。

在类中还包含更多的函数,你可以在编码后就把图像保存到文件中。  

public
 void
 SaveImage(string
 Filename, SaveTypes FileType)

 

  可以通过指定一个保存图像的位置全路径(包含文件名)字符串来使用此函数。第二个参数是一个枚举 (BarcodeLib.SaveTypes ) ,描述了所支持的多种文件保存格式类型 (JPG, BMP, PNG, GIF, TIFF) 。

 关注点

在编写这个类库时,为我提供了这样一个机会:深入了解 条 形码编码方法的工作机制,以及编码方法之间的差异(While writting this library it offered me the chance to become intimately familiar with how barcode symbologies work and how the symbologies differ from one another)

 版本更新记录

2007.10.10 - 初版 (存在 bug,并需要修改或实现某些编码法)  (译者注:请读者关注作者的更新)

2007.10.16 - Encode_Code39() 函数修复了一个 bug(未包含 interchar spaces);更新了 Generate_Image(Color, Color) 函数,并把 using SetPixel  代码段替换 为下列代码

using
 (Graphics g = Graphics.FromImage(b))
{
g.DrawLine(new Pen(c), x, 0, x, b.Height);
g.DrawLine(new Pen(c), x + 1, 0, x + 1, b.Height);
}//using
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值