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的5个入手程序
Nov 23 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
PHP开发Apache服务器配置
Jul 15 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
PHP解析url并得到url参数方法总结
Oct 11 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
js实现目录定位正文示例
2013/11/14 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
个人求职信范例
2014/01/29 职场文书
国培教师自我鉴定
2014/02/12 职场文书
经济担保书范文
2014/04/02 职场文书
抵押贷款承诺书
2014/05/30 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
篮球拉拉队口号
2015/12/25 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python