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 相关文章推荐
允许phpmyadmin空密码登录的配置方法
May 29 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php实现的递归提成方案实例
Nov 14 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
php数据访问之增删改查操作
May 09 PHP
Yii框架分页实现方法详解
May 20 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 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/10/09 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
javascript fullscreen全屏实现代码
2009/04/09 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
javascript中clone对象详解
2014/12/03 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python爬豆瓣电影实例
2018/02/23 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
Python socket处理client连接过程解析
2020/03/18 Python
python实现程序重启和系统重启方式
2020/04/16 Python
python palywright库基本使用
2021/01/21 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
捐助贫困学生倡议书
2014/05/16 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers