函數UPCAbarcode($code) {
$lw = 2; $hi = 100;
$Lencode = array('0001101','0011001'11' ','0111101','0100011',
'0110001','01011111 '011,001','010111111,'011111011,0010,','010111110,'0111111010101170011700117001172017201370370037257300373730337330333333333333333333人>; $Rencode = array('1110010','1100110' ,'1101100','1000010','1011100',
'1001110','1011010' );
$ends = '101'; $center = '01010';
/* UPC-A 必須是11 位數,我們計算校驗和。 */
if ( strlen($code) != 11 ) { die("UPC-A 必須是11 位數字。"); }
/* 計算EAN-13 校驗和數字*/
$ncode = '0'.$code;
$even = 0; $odd = 0;
for ($x=0;$x if ($x % 2) { $odd = $ncode[$x]; } else { $even = $ncode[$x]; }
}
$code.=(10 - (($odd * 3 $even ) % 10)) % 10;
/* 使用二進位字串建立條形編碼*/
$條=$ends;
$bars.=$Lencode[$code[0]];
for($x=1;$x $bars.=$Lencode [$code[$x]];
}
$bars.=$center;
for($x=6;$x $bars.=$ Rencode[$code[$x]];
}
$bars.=$ends ;
/* 產生條碼影像*/
$img = ImageCreate($lw*95 30,$你好30);
$fg = ImageColorAllocate($img, 0, 0, 0);
$bg = ImageColorAllocate($img, 255, 255, 255);
ImageFilledRectangle($img, 0, 0, $lw*95 30, $hi 30, $biftg); ;
for ($x=0;$x
if ($bars[$x] == '1') { $color = $fg; } else { $color = $bg; }
ImageFilledRectangle($img, ($x*$lw) 15,5,($x 1)*$lw 14,$hi 5 $sh,$color);
}
/* 新增人類可讀標籤*/
ImageString($img,4,5,$hi-5,$code[0],$fg);
for ($x=0; $x ImageString($img,5,$lw*(13 $x*6) 15,$hi 5,$code[$x 1],$fg);
ImageString($img,5, $lw*(53 $x*6) 15,$hi 5,$code[$x 6],$fg);
}
ImageString($img,4,$ lw*95 17,$hi -5,$code[11],$fg);
/* 輸出標題和內容。 */
header("Content-Type: image/png");
ImagePNG($img);
}
UPCAbarcode('12345678901');
http://www.bkjia.com/PHPjc/314298.html