当前位置:首页 > PHP教程 > php图像处理 > 列表

php生成条形码代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-19 15:46:53 浏览: 评论:0 

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

php生成条形码代码如下:

  1. class cd_barra 
  2.     var $file; 
  3.     var $into; 
  4.      
  5.     var $cd_barras = array(0=>"00110",1=>"10001",2=>"01001",3=>"11000",4=>"00101"
  6.                            5=>"10100",6=>"01100",7=>"00011",8=>"10010",9=>"01010" 
  7.                            ); 
  8.     function cd_barra($value,$files,$into=1) {  
  9.       $lower = 1 ; $hight = 55;           
  10.       $this->into = $into; 
  11.       for($count1=9;$count1>=0;$count1--){  
  12.         for($count2=9;$count2>=0;$count2--){    
  13.           $count = ($count1 * 10) + $count2 ;  
  14.           $text = "" ;  
  15.           for($i=1;$i<6;$i++){  
  16.             $text .=  substr($this->cd_barras[$count1],($i-1),1) . substr($this->cd_barras[$count2],($i-1),1);  
  17.           }  
  18.           $this->cd_barras[$count] = $text;  
  19.        }  
  20.       }  
  21.      
  22.           //$img         = imagecreate($lower*95+300,$hight+30); 
  23.           $img         = imagecreate(145,55);  
  24.      
  25.     //$img         = imagecreate(395,73);    
  26.           $cl_black = imagecolorallocate($img, 0, 0, 0);  
  27.           $cl_white = imagecolorallocate($img, 255, 255, 255);  
  28.      
  29.                 
  30.             
  31.           imagefilledrectangle($img, 0, 0, $lower*95+1000, $hight+30, $cl_white);  
  32.             
  33.      
  34.           imagefilledrectangle($img, 1,1,1,53,$cl_black);  
  35.           imagefilledrectangle($img, 2,1,2,53,$cl_white);  
  36.           imagefilledrectangle($img, 3,1,3,53,$cl_black);  
  37.           imagefilledrectangle($img, 4,1,4,53,$cl_white);  
  38.      
  39.      
  40.      
  41.     $thin = 1 ;  
  42.     if(substr_count(strtoupper($_server['server_software']),"win32")){ 
  43.         //o tamanho para windows tem que ser 3 
  44.         // for windows, the wide bar has = 3 
  45.          $wide = 3; 
  46.     } else { 
  47.             $wide = 2.72; 
  48.        } 
  49.     $pos   = 5 ;  
  50.     $text = $value ;  
  51.     if((strlen($text) % 2) <> 0){  
  52.         $text = "0" . $text;  
  53.     }  
  54.      
  55.      
  56.     while (strlen($text) > 0) {  
  57.       $i = round($this->barra_left($text,2));  
  58.       $text = $this->barra_right($text,strlen($text)-2);  
  59.         
  60.       $f = $this->cd_barras[$i];  
  61.         
  62.       for($i=1;$i<11;$i+=2){  
  63.         if (substr($f,($i-1),1) == "0") {  
  64.           $f1 = $thin ;  
  65.         }else{  
  66.           $f1 = $wide ;  
  67.         }  
  68.      
  69.         
  70.       imagefilledrectangle($img, $pos,1,$pos-1+$f1,53,$cl_black)  ;  
  71.       $pos = $pos + $f1 ;    
  72.         
  73.       if (substr($f,$i,1) == "0") {  
  74.           $f2 = $thin ;  
  75.         }else{  
  76.           $f2 = $wide ;  
  77.         }  
  78.      
  79.       imagefilledrectangle($img, $pos,1,$pos-1+$f2,53,$cl_white)  ;  
  80.       $pos = $pos + $f2 ;    
  81.       }  
  82.     }  
  83.      
  84.          
  85.     imagefilledrectangle($img, $pos,1,$pos-1+$wide,53,$cl_black);  
  86.     $pos=$pos+$wide;  
  87.      
  88.     imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_white);  
  89.     $pos=$pos+$thin;  
  90.      
  91.      
  92.     imagefilledrectangle($img, $pos,1,$pos-1+$thin,53,$cl_black);  
  93.     $pos=$pos+$thin;  
  94.      
  95.     $this->put_img($img,$files); 
  96.     }  
  97.      
  98.     function barra_left($input,$comp){  
  99.         return substr($input,0,$comp);  
  100.     }  
  101.      
  102.     function barra_right($input,$comp){  
  103.         return substr($input,strlen($input)-$comp,$comp);  
  104.     }  
  105.      
  106.     function put_img($image,$file){ 
  107.         if($this->into){             
  108.    imagegif($image,$file);  
  109.         }  
  110.   else {//开源代码phpfensi.com 
  111.                     header("content-type: image/gif"); 
  112.                     imagegif($image); 
  113.              } 
  114.         imagedestroy($image); 
  115.     } 

调用方法,代码如下:

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

Tags: php条形码 条形码代码

分享到: