版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27229113/article/details/82856386
自己的资源包:https://download.csdn.net/download/qq_27229113/10689077
官方库所需库下载地址:https://www.barcodebakery.com/en/resources/api/php/databarexpanded
控制器调用
$barcode = new Barcodegen;
$barcode->barcode_create($ticket,$url,'BCGcode128');
service封装
<?php
namespace app\api\service;
use app\common\controller\Api;
use Think\Exception;
use think\Loader;
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/9/25
* Time: 18:46
*/
class Barcodegen extends Api
{
// 无需登录的接口,*表示全部
protected $noNeedLogin = ['*'];
// 无需鉴权的接口,*表示全部
protected $noNeedRight = ['*'];
public function barcode_create($text='',$url="",$barcode_name='BCGcode128')
{
require_once(EXTEND_PATH.'barcode/class/BCGFont.php');
require_once(EXTEND_PATH.'barcode/class/BCGColor.php');
require_once(EXTEND_PATH.'barcode/class/BCGDrawing.php');
//条形码编码
$codebar = $barcode_name;
// 包括条形码技术
include(EXTEND_PATH.'barcode/class/'.$codebar.'.barcode.php');
// 加载字体
$font = new \BCGFont(EXTEND_PATH.'barcode/class/font/Arial.ttf', 13);
// 参数是R,G,B的颜色。
$color_black = new \BCGColor(0, 0, 0);
$color_white = new \BCGColor(255, 255, 255);
$code = new $codebar();
$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)
//条码下的数字
// $text = $_REQUEST['text'];
$code->parse($text);
/**这里是参数列表
1文件名(空:屏幕上显示)
2 -背景色*/
$drawing = new \BCGDrawing($url, $color_white);
$drawing->setBarcode($code);
$drawing->draw();
// 标头为图像(如果将条形码保存到文件中,将其删除)
header('Content-Type: image/png');
//绘制(或保存)图像到PNG格式。
$drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);
}
}
类库存放地址:extend下