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+="