有个项目用做了扫描枪用的条形码生成,参照了老杨的代码,并在其基础上修改了部分内容

参照的原文是https://www.kancloud.cn/yangweijie/yang_book/85857

下载的版本

下载了最新版。

然后我们把这种第三方库放入vendor里去

文件存放的路径

注意不同的码类型使用对应不同的class。

效果

php代码

具体的可复制代码:

$savePath = 'Public/barcode/';

if(!file_exists($savePath)){

mkdir($savePath,0755,true);

}

$class_dir = VENDOR_PATH.'barcodegen/class/';

require($class_dir.'BCGFont.php');

require($class_dir.'BCGColor.php');

require($class_dir.'BCGDrawing.php');

// Including the barcode technology

include($class_dir.'BCGcode39.barcode.php');

// Loading Font

$font = new \BCGFont($class_dir.'font/Arial.ttf', 18);

// The arguments are R, G, B for color.

$color_black = new \BCGColor(0, 0, 0);

$color_white = new \BCGColor(255, 255, 255);

$code = new \BCGcode39();

$code->setScale(2); // Resolution

$code->setThickness(30); // Thickness

$code->setForegroundColor($color_black); // Color of bars

$code->setBackgroundColor($color_white); // Color of spaces

$code->setFont($font); // Font (or 0)

$code->parse(I('text', '123456')); // Text

/* Here is the list of the arguments

1 - Filename (empty : display on screen)

2 - Background color */

$drawing = new \BCGDrawing('', $color_white);//如果保存图片到本地的话,则用$drawing = new \BCGDrawing('Public/barcode/barcode.png', $color_white);

$drawing->setBarcode($code);

$drawing->draw();

// 页眉表示它是一个图像(如果您将条形码保存到文件中,则将其删除)

header('Content-Type: image/png');

header('Content-Disposition: inline; filename="Public/barcode/barcode.png"');

// 绘制(或保存)图像到PNG格式。

$drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);

其实就是改了原来的示列。

值得注意的是对于第三方类库的引用。

我们有几种加载第三方类库的方式:命名空间、import、vendor、

原生include和require

命名空间适合于独立类,或者说这个类的构造方法处理其他文件的加载。常见的如ThinkPHP/Libary/Think下的所有类 如Upload、Page。

import适合默认类名符合tp类的规范即后缀是.class.php。import时系统会自动识别导入类库文件的位置,ThinkPHP可以自动识别的类库包包括Think、Org、Com、Behavior和Vendor包,以及Library目录下面的子目录 当然支持自定义位置和.php后缀,就是使用比较麻烦。

vendor 如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的Vendor函数简化导入。

原生require 或include 这里注意 路径字符串中的 './'不是当前文件位置而是框架入口。为了防止出错,我们也可以借用系统路径常量 如APP_PATH、VENDOR_PATH 来拼接。

载入一个类,如果报错了。怎么调试?我们可以通过将路径拼接到一个变量里。然后用is_file去判断:

如上面代码里的:// dump(is_file(VENDOR_PATH.'barcodegen/html/header.php'));

其实文件路径问题其实就是这么简单。

还有一个注意点,有的时候相对路径可能会报错,我们需要将其用realpath转换成全路径去对比。还有windows下路径中文要转gbk编码的问题。

php图像识别条形码,ThinkPHP用barcode制作条形码相关推荐

  1. php tp5生成条形码,thinkPHP框架实现生成条形码的方法

    这篇文章主要介绍了thinkPHP框架实现生成条形码的方法,结合实例形式分析了thinkPHP结合第三方barcode类文件生成条形码的相关操作技巧,需要的朋友可以参考下 本文实例讲述了thinkPH ...

  2. (转)如何在Excel2013中制作条形码

    文章来源:http://www.officezhushou.com/excel2013/3905.html 注意:如果发现条形码不能移动的情况,请点击开发工具-设计模式,那么你就可以移动你的条形码了 ...

  3. 使用google.zxing制作条形码和二维码

    跟着别人学滴,特此记录一下. 1.添加依赖: compile 'com.google.zxing:core:3.3.0' 2.布局: <?xml version="1.0" ...

  4. excel怎么启用宏_怎么使用Excel制作条形码?操作如此简单

    条形码与我们生活息息相关,几乎每一件物品上都有条形码.那么条形码怎么制作呢?今天我们将使用Microsoft Excel制作条形码,一起来看一下具体操作流程吧. 使用Microsoft Excel制作 ...

  5. excel服务器条形码不显示,excel怎么制作条形码教程 excel条形码显示不出怎么办...

    现在很多excel用户都会在excel表格中制作条形码,很多刚开始学习excel软件的用户不太了解,那么下面小编就为大家带来excel 制作条形码的详细教程,不懂制作的朋友可以抽点时间学习下. exc ...

  6. jQuery条形码插件 jQuery Barcode

    jQuery Barcode 是一个用来创建条形码的 jQuery 插件. 在线演示 首先介绍下条形码的原理先: 条形码技术最早产生在风声鹤唳的二十年代,诞生于Westinghouse的实验室里.一位 ...

  7. 如何通过Word制作条形码

    http://product.pconline.com.cn/itbk/software/word/1406/4894656.html 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的 ...

  8. 活久见,用Excel制作条形码

    条形码 (barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符. 在商场中的商品上都有条形码,用扫码器或者扫码软件对其扫描就能获得该商品的相关信息. 现在 ...

  9. 利用条形码生成器应用程序在Word 2013中轻松制作条形码的方法

    转自:http://www.weidianyuedu.com/content/3812000537155.html 打开Office 2013应用程序>CODE 39 Barcode>Ad ...

最新文章

  1. 为什么汉字不能当密码,假如用汉字做密码,又会怎样?
  2. ubuntu 下安装nodejs以及pm2
  3. php调用for循环函数吗,我需要将“函数”与“for循环”结合使用php
  4. 适合做公安网的php,gonganbeian.php
  5. HTML marquee标签详解
  6. C-C Primer Plus阅读笔记
  7. windowskb2685811补丁_KB898461补丁
  8. Java中print、printf、println的区别(对原文进行缩减,截取对自己有用的)
  9. Matplotlib——基本用法
  10. Vite ---- 创建Vue3.0+TS项目
  11. Android NetworkLocationProvider and GeocodeProvider
  12. ListView 设置 scrollbars 之后出现的细线白边的解决方法
  13. 音乐智能推荐 ALS算法
  14. 850是什么意思_850w是什么意思 孤存850w是什么梗
  15. 极客日报:宿华不再担任快手CEO,程一笑接任;微软市值重登全球第一;Bootstrap 4.6.1发布
  16. 分块矩阵求行列式的一道题
  17. python数组列表添加一行一列np.rowstack()np.column_stack()
  18. Base64解密算法、AES解密
  19. python——pandas展示所有列
  20. [网鼎杯 2020 青龙组]boom复现

热门文章

  1. React之 常见的hooks
  2. 云计算机网络有限公司,目前市面3种主流的云桌面
  3. NVIDIA Jetson TK1学习与开发——JETPACK自动刷机
  4. python编程之一:使用网格索引算法进行空间数据查询
  5. C# HTTP Basic 认证
  6. 软件开发定制的类型有哪些?
  7. 机器学习知识点(人工智能篇)
  8. ae教程 (三)三维空间合成(三)
  9. 如何长高快速而自然 - 技术你应该考虑
  10. 达芬奇pro的FPGA学习笔记0--对自己想说的话以及之后的项目规划