for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Graze\CiffRenderer\Renderer\FieldRenderer;
use Graze\CiffRenderer\Renderer\FieldRenderer\FieldRendererInterface;
use Intervention\Image\ImageManager;
use Graze\CiffRenderer\Parser\FieldParser\FieldParserInterface;
use Graze\CiffRenderer\Renderer\Font\FontFace;
class FieldRendererBarcode implements FieldRendererInterface
{
/**
* @param ImageManager $imageManager
* @param FieldParserInterface $parser
* @param null|callable $fontResolver
* @param null|callable $graphicResolver
* @return \Intervention\Image\Image
*/
public function render(
ImageManager $imageManager,
FieldParserInterface $parser,
callable $fontResolver = null,
callable $graphicResolver = null
) {
$image = $imageManager->canvas($parser->getWidth(), $parser->getHeight(), '#000');
$fontPath = $fontResolver(FontFace::FACE_BARCODE);
$fontSize = $parser->getFontSize();
$fontCallback = function ($font) use ($fontPath, $fontSize) {
$font->file($fontPath);
$font->size($fontSize);
$font->color('#fff');
$font->align('center');
$font->valign('middle');
};
$image->text($parser->getText(), $parser->getWidth() / 2, $parser->getHeight(), $fontCallback);
return $image;
}
* @return FieldRendererInterface
public static function factory()
return new static();