当前位置:编程学习 > php >>

php生成条形码代码

php教程生成条形码代码
/*
生成条形码就是必须生成图片了,在php生成图片我们就必须用到gd库来实现了,所以你得找到你的将php.ini文件找到extension=php_gd2.dll 去掉前面的;
。你就可能使用些实例了。
*/

class cd_barra
{
    var $file;
    var $into;
   
    var $cd_barras = array(0=>"00110",1=>"10001",2=>"01001",3=>"11000",4=>"00101",
                           5=>"10100",6=>"01100",7=>"00011",8=>"10010",9=>"01010"
                           );
    function cd_barra($value,$files,$into=1) {
      $lower = 1 ; $hight = 55;         
      $this->into = $into;
      for($count1=9;$count1>=0;$count1--){
        for($count2=9;$count2>=0;$count2--){  
          $count = ($count1 * 10) + $count2 ;
          $text = "" ;
          for($i=1;$i<6;$i++){
            $text .=  substr($this->cd_barras[$count1],($i-1),1) . substr($this->cd_barras[$count2],($i-1),1);
          }
          $this->cd_barras[$count] = $text;
       }
      }
   
          //$img         = imagecreate($lower*95+300,$hight+30);
          $img         = imagecreate(145,55);
   
    //$img         = imagecreate(395,73);  
          $cl_black = imagecolorallocate($img, 0, 0, 0);
          $cl_white = imagecolorallocate($img, 255, 255, 255);
   
              
          
          imagefilledrectangle($img, 0, 0, $lower*95+1000, $hight+30, $cl_white);
          
   
          imagefilledrectangle($img, 1,1,1,53,$cl_black);
          imagefilledrectangle($img, 2,1,2,53,$cl_white);
          imagefilledrectangle($img, 3,1,3,53,$cl_black);
          imagefilledrectangle($img, 4,1,4,53,$cl_white);
   
   
   
    $thin = 1 ;
    if(substr_count(strtoupper($_server['server_software']),"win32")){
        //o tamanho para windows tem que ser 3
        // for windows, the wide bar has = 3
         $wide = 3;
    } else {
            $wide = 2.72;
       }
    $pos   = 5 ;
    $text = $value ;
    if((strlen($text) % 2) <> 0){
        $text = "0" . $text;
    }
   
   
    while (strlen($text) > 0) {
      $i = round($this->barra_left($text,2));
      $text = $this->barra_right($text,strlen($text)-2);
      
      $f = $this->cd_barras[$i];
      
      for($i=1;$i<11;$i+=2){
        if (substr($f,($i-1),1) == "0") {
          $f1 = $thin ;
        }else{
          $f1 = $wide ;
        }
   
      
      imagefilledrectangle($img, $pos,1,$pos-1+$f1,53,$cl_black)  ;
      $pos = $pos + $f1 ;  
      
      if (substr($f,$i,1) == "0") {
          $f2 = $thin ;
        }else{
          $f2 = $wide ;
        }
   
      imagefilledrectangle($img, $pos,1,$pos-1+$f2,53,$cl_white)  ;
      $pos = $pos + $f2 ;  
      }
    }
   
       
    imagefilledrectangle($img, $pos,1,$pos-1+$wide,53,$cl_black);
    $pos=$pos+$wide;
   
    imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_white);
    $pos=$pos+$thin;
   
   
    imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_black);
    $pos=$pos+$thin;
   
    $this->put_img($img,$files);
    }
   
    function barra_left($input,$comp){
        return substr($input,0,$comp);
    }
   
    function barra_right($input,$comp){
        return substr($input,strlen($input)-$comp,$comp);
    }
   
    function put_img($image,$file){
        if($this->into){           
   imagegif($image,$file);
        }
  else {
                    header("content-type: image/gif");
                    imagegif($image);
             }
        imagedestroy($image);
    }
}

?>

//调用 方法

<?php
  include("codes.php");
 $new_code = new cd_barra("1234567890","a.gif",1);
 
 ?>
   <img src="a.gif"   />

补充:Php教程,图像处理 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,