Heim  >  Artikel  >  Backend-Entwicklung  >  PHP生成条形码实现程序_PHP教程

PHP生成条形码实现程序_PHP教程

WBOY
WBOYOriginal
2016-07-13 16:57:06970Durchsuche

条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成平行线的图案对于上面有个大概的了解后,下面我们可以重新整合下代码,更加方便的使用它。

 代码如下 复制代码
  
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 11 digits, we compute the checksum. */
    if ( strlen($code) != 11 ) { die("UPC-A Must be 11 digits."); }
  
    /* Compute the EAN-13 Checksum digit */
    $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;
  
    /* Create the bar encoding using a binary string */
    $bars=$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;
  
    /* 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=45 && $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     {
        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);
  
    /* Output the Header and Content. */
    header("Content-Type: image/png");
    ImagePNG($img);
  
}
  
UPCAbarcode('13322483157');
  
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631564.htmlTechArticle条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn