C#条码生成类分享
本文实例为大家分享了C#条码生成类的具体代码,供大家参考,具体内容如下
usingSystem.Collections;
usingSystem.Text.RegularExpressions;
namespaceDotNet.Utilities
{
publicclassBarCodeToHTML
{
publicstaticstringget39(strings,intwidth,intheight)
{
Hashtableht=newHashtable();
#region39码12位
ht.Add('A',"110101001011");
ht.Add('B',"101101001011");
ht.Add('C',"110110100101");
ht.Add('D',"101011001011");
ht.Add('E',"110101100101");
ht.Add('F',"101101100101");
ht.Add('G',"101010011011");
ht.Add('H',"110101001101");
ht.Add('I',"101101001101");
ht.Add('J',"101011001101");
ht.Add('K',"110101010011");
ht.Add('L',"101101010011");
ht.Add('M',"110110101001");
ht.Add('N',"101011010011");
ht.Add('O',"110101101001");
ht.Add('P',"101101101001");
ht.Add('Q',"101010110011");
ht.Add('R',"110101011001");
ht.Add('S',"101101011001");
ht.Add('T',"101011011001");
ht.Add('U',"110010101011");
ht.Add('V',"100110101011");
ht.Add('W',"110011010101");
ht.Add('X',"100101101011");
ht.Add('Y',"110010110101");
ht.Add('Z',"100110110101");
ht.Add('0',"101001101101");
ht.Add('1',"110100101011");
ht.Add('2',"101100101011");
ht.Add('3',"110110010101");
ht.Add('4',"101001101011");
ht.Add('5',"110100110101");
ht.Add('6',"101100110101");
ht.Add('7',"101001011011");
ht.Add('8',"110100101101");
ht.Add('9',"101100101101");
ht.Add('+',"100101001001");
ht.Add('-',"100101011011");
ht.Add('*',"100101101101");
ht.Add('/',"100100101001");
ht.Add('%',"101001001001");
ht.Add('$',"100100100101");
ht.Add('.',"110010101101");
ht.Add('',"100110101101");
#endregion
#region39码9位
//ht.Add('0',"000110100");
//ht.Add('1',"100100001");
//ht.Add('2',"001100001");
//ht.Add('3',"101100000");
//ht.Add('4',"000110001");
//ht.Add('5',"100110000");
//ht.Add('6',"001110000");
//ht.Add('7',"000100101");
//ht.Add('8',"100100100");
//ht.Add('9',"001100100");
//ht.Add('A',"100001001");
//ht.Add('B',"001001001");
//ht.Add('C',"101001000");
//ht.Add('D',"000011001");
//ht.Add('E',"100011000");
//ht.Add('F',"001011000");
//ht.Add('G',"000001101");
//ht.Add('H',"100001100");
//ht.Add('I',"001001100");
//ht.Add('J',"000011100");
//ht.Add('K',"100000011");
//ht.Add('L',"001000011");
//ht.Add('M',"101000010");
//ht.Add('N',"000010011");
//ht.Add('O',"100010010");
//ht.Add('P',"001010010");
//ht.Add('Q',"000000111");
//ht.Add('R',"100000110");
//ht.Add('S',"001000110");
//ht.Add('T',"000010110");
//ht.Add('U',"110000001");
//ht.Add('V',"011000001");
//ht.Add('W',"111000000");
//ht.Add('X',"010010001");
//ht.Add('Y',"110010000");
//ht.Add('Z',"011010000");
//ht.Add('-',"010000101");
//ht.Add('.',"110000100");
//ht.Add('',"011000100");
//ht.Add('*',"010010100");
//ht.Add('$',"010101000");
//ht.Add('/',"010100010");
//ht.Add('+',"010001010");
//ht.Add('%',"000101010");
#endregion
s="*"+s.ToUpper()+"*";
stringresult_bin="";//二进制串
try
{
foreach(charchins)
{
result_bin+=ht[ch].ToString();
result_bin+="0";//间隔,与一个单位的线条宽度相等
}
}
catch{return"存在不允许的字符!";}
stringresult_html="";//HTML代码
stringcolor="";//颜色
foreach(charcinresult_bin)
{
color=c=='0'?"#FFFFFF":"#000000";
result_html+="