php生成条形码就是必须生成图片了,在php生成图片我们就必须用到gd库来实现了,所以你得找到你的将php.ini文件找到extension=php_gd2.dll 去掉前面的;,你就可以使用些实例了.
php生成条形码代码如下:
- 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(145,55);
-
-
- $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")){
-
-
- $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" />
|