php生成条形码的图片的实例详解


Posted in PHP onSeptember 13, 2017

php生成条形码的图片的实例详解

因为用户的需要  写了一个条形码;用php生成一个条形码的图片  这个大家应该比我要好很多的吧,在自己项目的根目录下建立一个测试文件(直接把下面的代码放进去运行一下看看,我也是抄袭别人的),在实际的项目中你可以将下面的代码封装到一个公共类文件下的一个函数,然后调用。

class testinfo{
  function UPCAbarcode($code) {
    $trans_code = $code;
    $lw = 2.2; $hi = 40;
    $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';
    /* 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*75+30,$hi-3);  // 95
    $fg = ImageColorAllocate($img, 0, 0, 0);
    $bg = ImageColorAllocate($img, 255, 255, 255);
    ImageFilledRectangle($img, 0, 0, $lw*75+30, $hi+30, $bg);
    $shift=10;
    for ($x=0;$x<strlen($bars);$x++) {
      if (($x<0) || ($x>=45 && $x<46) || ($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-7,$hi,$code[11],$fg);
    /* Output the Header and Content. */
    header("Content-Type: image/png");
    ImagePNG($img);
  }
//}
echo UPCAbarcode('201212070099');

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
php自定义加密与解密程序实例
Dec 31 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
php之可变函数的实例详解
Sep 13 #PHP
PHP实现一个多功能购物网站的案例
Sep 13 #PHP
php之可变变量的实例详解
Sep 12 #PHP
PHP清除缓存的几种方法总结
Sep 12 #PHP
PHP 传输会话curl函数的实例详解
Sep 12 #PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 #PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 #PHP
You might like
PHP动态变静态原理
2006/11/25 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
python连接字符串的方法小结
2015/07/13 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
django页面跳转问题及注意事项
2019/07/18 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
数学专业毕业生自荐信
2013/11/10 职场文书
机械设计职业生涯规划书
2013/12/27 职场文书
百度吧主申请感言
2014/01/12 职场文书
情况说明书格式范文
2014/05/06 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书