barcodebakery Simplest Hello ошибка штрих-кода

У меня есть следующий код для отображения привет штрих-кода, я использую PHP 7;

<?php
require('barcodegen.1d-php5.v5.2.1/class/BCGcode128.barcode.php');
require('barcodegen.1d-php5.v5.2.1/class/BCGDrawing.php');

$code = new BCGcode128();
$code->parse('Hello');

$drawing = new BCGDrawing();
$drawing->setBarcode($code);
$drawing->draw();
?>

Но я получаю эту ошибку:

Fatal error: Uncaught TypeError: Argument 2 passed to BCGDrawing::__construct() must be an instance of BCGColor, none given, called in C:\xampp\htdocs\PHP\700.php on line 8 and defined in C:\xampp\htdocs\PHP\barcodegen.1d-php5.v5.2.1\class\BCGDrawing.php:40 Stack trace: #0 C:\xampp\htdocs\PHP\700.php(8): BCGDrawing->__construct() #1 {main} thrown in C:\xampp\htdocs\PHP\barcodegen.1d-php5.v5.2.1\class\BCGDrawing.php on line 40

Я погуглил эту ошибку, и решение не найдено !!!!!

0

Решение

Вы можете найти определение конструктора BCGDrawing класс в файле определения:

public function __construct($filename = null, BCGColor $color)

Кроме того, в zip-библиотеке библиотеки, которую вы скачали, есть html-папка. В этой папке есть файл с именем image.phpи в этом файле (строка 74) есть этот код:

$drawing = new BCGDrawing('', $color_white);

Если вы прокрутите немного вверх (строка 50), вы увидите следующее:

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

РЕДАКТИРОВАТЬ

Я посмотрел на образец, включенный в библиотеку, и изменил ваш код, чтобы сделать рабочий тест:

require('barcodegen.1d-php5.v5.2.1/class/BCGcode128.barcode.php');
require('barcodegen.1d-php5.v5.2.1/class/BCGDrawing.php');

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

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

$code = new BCGcode128();
$code->parse('Hello');

$drawing = new BCGDrawing('', $color_white);
$drawing->setBarcode($code);

$drawing->draw();
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]