1. 程式人生 > >thinkphp5 Barcodegen 生成條形碼

thinkphp5 Barcodegen 生成條形碼

自己的資源包: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下