code39条形码显示程序
<?
$zoom
=3;
?>
<html>
<head>
<title>code39条形码显示程序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<?
class pattenclass
{
  var 
$color;
  var 
$width;
  function 
pattenclass($color,$width)
  {
    
$this->color=$color;
    
$this->width=$width;
  }
}
$patten[0]=new pattenclass("#FFFFFF",1*$zoom);
$patten[1]=new pattenclass("#FFFFFF",3*$zoom);
$patten[2]=new pattenclass("#000000",1*$zoom);
$patten[3]=new pattenclass("#000000",3*$zoom);
function 
code39($code)//code39解码
{
  switch (
$code)
  {
    case 
"0":return ("202130302");
    case 
"1":return ("302120203");
    case 
"2":return ("203120203");
    case 
"3":return ("303120202");
    case 
"4":return ("202130203");
    case 
"5":return ("302130202");
    case 
"6":return ("203130202");
    case 
"7":return ("202120303");
    case 
"8":return ("302120302");
    case 
"9":return ("203120302");
    case 
"A":return ("302021203");
    case 
"B":return ("203021203");
    case 
"C":return ("303021202");
    case 
"D":return ("202031203");
    case 
"E":return ("302031202");
    case 
"F":return ("203031202");
    case 
"G":return ("202021303");
    case 
"H":return ("302021302");
    case 
"I":return ("203021300");
    case 
"J":return ("202031302");
    case 
"K":return ("302020213");
    case 
"L":return ("203020213");
    case 
"M":return ("303020212");
    case 
"N":return ("202030213");
    case 
"O":return ("302030212");
    case 
"P":return ("203030212");
    case 
"Q":return ("202020313");
    case 
"R":return ("302020312");
    case 
"S":return ("203020312");
    case 
"T":return ("202030312");
    case 
"U":return ("312020203");
    case 
"V":return ("213020203");
    case 
"W":return ("313020202");
    case 
"X":return ("212030203");
    case 
"Y":return ("312030202");
    case 
"Z":return ("213030202");
    case 
"-":return ("212020303");
    case 
".":return ("312020302");
    case 
" ":return ("213020302");
    case 
"*":return ("212030302");
    case 
"$":return ("212121202");
    case 
"/":return ("212120212");
    case 
"+":return ("212021212");
    case 
"%":return ("202121212");
  }
  return (
"212030302");
}
function 
display($code)//输出单个字符
{
  GLOBAL 
$patten;
  
$code=strtok($code,"");
  for (
$i=0;$i<9;$i++)
  {
    echo 
"<td height=30 bgcolor=".$patten[$code[$i]]->color." width=".$patten[$code[$i]]->width."></td>";
  }
}
function 
paint($code)//全部输出
{
  GLOBAL 
$patten,$zoom;
  echo 
$code."<br>";
  echo 
"<table width=".(15*(strlen($code)+2)*$zoom)." height=30 border=0 cellspacing=0 cellpadding=0><tr>";
  
display(code39("*"));
  echo 
"<td height=30 bgcolor=".$patten[0]->color." width=".$patten[0]->width."></td>";
  
$code=strtok($code,"");
  for (
$i=0;$i<strlen($code);$i++)
  {
    
display(code39($code[$i]));
    echo 
"<td height=30 bgcolor=".$patten[0]->color." width=".$patten[0]->width."></td>";
  }
  
display(code39("*"));
  echo 
"</tr></table>";
}
paint("0123456789ABCD");
?>
</body>
</html>