Как показать ресурс изображения GD в шаблоне веточки

Я создал ресурс изображения GD из объекта штрих-кода Zend. Как я могу отобразить этот ресурс в шаблоне веточки?

Применение градиента к изображению с помощью CSS
Применение градиента к изображению с помощью CSS
Здравствуйте, братья и сестры, как дела? Недавно я застрял на применении градиента к изображению. Я применял это много раз, но иногда наши требования...
Получение URL-адреса изображения курса в Moodle с помощью PHP
Получение URL-адреса изображения курса в Moodle с помощью PHP
Moodle - это популярная система управления обучением с открытым исходным кодом, используемая многими учебными заведениями и организациями по всему...
0
0
493
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

привет, этот код поможет:

require 'vendor/autoload.php';

use Zend\Barcode\Barcode;

// Only the text to draw is required
$barcodeOptions = array('text' => 'ZEND-FRAMEWORK');

// No required options
$rendererOptions = array();
$image = Barcode::draw(
    'code39',
    'image',
    $barcodeOptions,
    $rendererOptions
);

// By default, imagepng will print on the output file your image. 
// Here we play around with ob_* to catch this output and store it on $contents variable.
ob_start();
imagepng($image);
$contents = ob_get_contents();
ob_end_clean();

// Save as test.png your current barcode.
file_put_contents('test.png', $contents);
// Display img tag with base64 encoded barcode.
echo '<img src = "data:image/png;base64,'.base64_encode($contents).'">';

Экспликация:

imagejpeg() или imagepng() получают как параметр gd image ressource и распечатывают его. Здесь мы поиграем с функцией ob_*, чтобы зафиксировать этот вывод в переменной, а не распечатать его. Тогда вы можете делать с этими данными все, что захотите. В моем коде я сделал обе возможности:

  • Сохраните его в статическом файле.
  • Напрямую распечатайте его как изображение base64 внутри моего html.

Другие вопросы по теме