php生成EAN_13标准条形码实例


Posted in PHP onNovember 13, 2013

下面的就是生成EAN_13标准的条码的PHP方法,需要php+gd 环境 
  

<? 
function EAN_13($code) { 
  //一个单元的宽度 
  $lw = 2; 
  //条码高  
  $hi = 100; 
  // the guide code is no coding,is used to show the left part coding type// 
  // Array guide is used to record the EAN_13 is left part coding type// 
  $Guide = array(1=>'AAAAAA','AABABB','AABBAB','ABAABB','ABBAAB','ABBBAA','ABABAB','ABABBA','ABBABA'); 
  $Lstart ='101'; 
  $Lencode = array("A" => array('0001101','0011001','0010011','0111101','0100011','0110001','0101111','0111011','0110111','0001011'), 
                   "B" => array('0100111','0110011','0011011','0100001','0011101','0111001','0000101','0010001','0001001','0010111')); 
  $Rencode = array('1110010','1100110','1101100','1000010','1011100', 
                   '1001110','1010000','1000100','1001000','1110100');       $center = '01010'; 
  $ends = '101'; 
  if ( strlen($code) != 13 ) 
   { die("UPC-A Must be 13 digits."); } 
$lsum =0; 
$rsum =0; 
  for($i=0;$i<(strlen($code)-1);$i++) 
  { 
    if($i % 2) 
{ 
 // $odd += $ncode[$x] 
  $lsum +=(int)$code[$i]; 
 }else{ 
  $rsum +=(int)$code[$i]; 
 } 
  } 
  $tsum = $lsum*3 + $rsum; 
    if($code[12] != (10-($tsum % 10))) 
{ 
   die("the code is bad!"); 
    }  

 // echo $Guide[$code[0]]; 
  $barcode = $Lstart; 
  for($i=1;$i<=6;$i++) 
  { 
    $barcode .= $Lencode [$Guide[$code[0]][($i-1)]] [$code[$i]]; 
  } 
  $barcode .= $center; 
  for($i=7;$i<13;$i++) 
  { 
    $barcode .= $Rencode[$code[($i)]] ; 
  } 
  $barcode .= $ends; 
    $img = ImageCreate($lw*95+60,$hi+30); 
  $fg = ImageColorAllocate($img, 0, 0, 0); 
  $bg = ImageColorAllocate($img, 255, 255, 255); 
  ImageFilledRectangle($img, 0, 0, $lw*95+60, $hi+30, $bg); 
  $shift=10; 
  for ($x=0;$x<strlen($barcode);$x++) { 
    if (($x<4) || ($x>=45 && $x<50) || ($x >=92))  
  {  
    $sh=10;  
  } else {  
    $sh=0;  
  } 
    if ($barcode[$x] == '1')  
{  
  $color = $fg; 
    } else {  
  $color = $bg;  
} 
    ImageFilledRectangle($img, ($x*$lw)+30,5,($x+1)*$lw+29,$hi+5+$sh,$color); 
  } 
  /* Add the Human Readable Label */ 
  ImageString($img,5,20,$hi+5,$code[0],$fg); 
  for ($x=0;$x<6;$x++) { 
    ImageString($img,5,$lw*(8+$x*6)+30,$hi+5,$code[$x+1],$fg); 
    ImageString($img,5,$lw*(53+$x*6)+30,$hi+5,$code[$x+7],$fg); 
  } 
 // ImageString($img,4,$lw*95+17,$hi-5,$code[12],$fg); 
  /* Output the Header and Content. */ 
  header("Content-Type: image/png"); 
  ImagePNG($img); 
} 
EAN_13('6901028055048'); 
?> 
PHP 相关文章推荐
生成卡号php代码
Apr 09 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
laravel清除视图缓存的代码
Oct 23 PHP
使用php计算排列组合的方法
Nov 13 #PHP
测试php函数的方法
Nov 13 #PHP
PHP中判断变量为空的几种方法小结
Nov 12 #PHP
php不允许用户提交空表单(php空值判断)
Nov 12 #PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 #PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 #PHP
PHP使用正则表达式清除超链接文本
Nov 12 #PHP
You might like
PHP初学入门
2006/11/19 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
php自动加载代码实例详解
2021/02/26 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python贪心算法实例小结
2018/04/22 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
Delphi CS笔试题
2014/01/04 面试题
毕业生的自我评价范文
2013/12/31 职场文书
银行职员自我鉴定
2014/04/20 职场文书
法制宣传月活动总结
2014/04/29 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
小学教师师德承诺书
2014/05/23 职场文书
施工安全责任书范本
2014/07/24 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers