function Upcabarcode ($code) {
$LW = 2; $hi = 100;
$Lencode = Array (' 0001101 ', ' 0011001 ', ' 0010011 ', ' 0111101 ', ' 0100011 ',
' 0110001 ', ' 0101111 ', ' 0111011 ', ' 0110111 ', ' 0001011 ');
$Rencode = Array (' 1110010 ', ' 1100110 ', ' 1101100 ', ' 1000010 ', ' 1011100 ',
' 1001110 ', ' 1010000 ', ' 1000100 ', ' 1001000 ', ' 1110100 ');
$ends = ' 101 '; $center = ' 01010 ';
/* upc-a must be one digits, we compute the checksum. */
if (strlen ($code)! = one) {die ("upc-a must is one digits.");
/* Compute the EAN-13 Checksum digit */
$ncode = ' 0 '. $code;
$even = 0; $odd = 0;
for ($x =0; $x <12; $x + +) {
if ($x% 2) {$odd + = $ncode [$x];} else {$even + = $ncode [$x];}
}
$code. = (($odd * 3 + $even)% 10))% 10;
/* Create the bar encoding using a binary string */
$bars = $ends;
$bars. = $Lencode [$code [0]];
for ($x =1; $x <6; $x + +) {
$bars. = $Lencode [$code [$x]];
}
$bars. = $center;
for ($x =6; $x <12; $x + +) {
$bars. = $Rencode [$code [$x]];
}
$bars. = $ends;
/* Generate the Barcode Image */
$img = Imagecreate ($lw *95+30, $hi +30);
$FG = imagecolorallocate ($img, 0, 0, 0);
$BG = Imagecolorallocate ($img, 255, 255, 255);
Imagefilledrectangle ($img, 0, 0, $lw *95+30, $hi +30, $BG);
$shift = 10;
for ($x =0; $x
if ($x <10) | | ($x >=45 && $x <50) | | ($x >=85)) {$sh = 10;} else {$sh = 0;}
if ($bars [$x] = = ' 1 ') {$color = $FG;} else {$color = $BG;}
Imagefilledrectangle ($img, ($x * $lw) +15,5, ($x + 1) * $LW +14, $hi +5+ $sh, $color);
}
/* Add the Human readable Label */
Imagestring ($img, 4,5, $hi -5, $code [0], $FG);
for ($x =0; $x <5; $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 [one], $FG);
/* Output the Header and Content. */
Header ("Content-type:image/png");
Imagepng ($IMG);
}
Upcabarcode (' 12345678901 ');
?>
http://www.bkjia.com/PHPjc/314298.html www.bkjia.com true http://www.bkjia.com/PHPjc/314298.html techarticle php function Upcabarcode ($code) {$lw = 2; $hi = +; $Lencode = Array (' 0001101 ', ' 0011001 ', ' 0010011 ', ' 0111101 ', ' 01000 11 ', ' 0110001 ', ' 0101111 ', ' 0111011 ', ' 0110111 ', ' 0001011 '); $Renc ...