+ -
当前位置:首页 → 问答吧 → 利用PHP生成条形码 【很强悍】

利用PHP生成条形码 【很强悍】

时间:2009-11-29

来源:互联网

测试之后,首字符和尾字符显示的小字符。
就是这点不好。
 [size=2][b]<?php 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<12;$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<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<strlen($bars);$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[11],$fg); /* Output the Header and Content. */ header("Content-Type: image/png"); ImagePNG($img); } UPCAbarcode('47101496236'); ?> [/b][/size]

作者: darkst   发布时间: 2009-11-29

不知道拿扫描枪刷过没有?很多都刷不动的

作者: 古嗣小井   发布时间: 2009-11-29

呵呵,那你就试试不就知道了。我记得超市就用这样的

作者: darkst   发布时间: 2009-11-29

Barcode.rar (7.18 KB)
barcode
下载次数: 37
2009-11-29 16:12

作者: 古嗣小井   发布时间: 2009-11-29

超市用的是EAN13

作者: 古嗣小井   发布时间: 2009-11-29

那你发的那个是什么的?

作者: darkst   发布时间: 2009-11-29

包含了很多种常用的条码 不记得从哪里找的了 自己修改了点点

作者: 古嗣小井   发布时间: 2009-11-29

EAN13 已经刷过了 ,识别率还是很高的

作者: 古嗣小井   发布时间: 2009-11-29

那我发的那个是什么版本的?

作者: darkst   发布时间: 2009-11-29

我汗~~是不是你原创的啊?UPC码

作者: 古嗣小井   发布时间: 2009-11-29

不是啊,这个是朋友那弄过来就是研究了下

作者: darkst   发布时间: 2009-11-29

试一试 ,多谢

作者: szrq   发布时间: 2009-11-30

高手啊

作者: 112012220   发布时间: 2009-12-14

学习一下  哈哈

作者: GraceLong   发布时间: 2009-12-22

OK

作者: darkst   发布时间: 2009-12-22