|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /home/matalashes/www/kite.mata-lashes.com/vendor/endroid/qr-code/src/ImageData/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Endroid\QrCode\ImageData;
use Endroid\QrCode\Label\LabelInterface;
class LabelImageData
{
private function __construct(
private int $width,
private int $height
) {
}
public static function createForLabel(LabelInterface $label): self
{
if (false !== strpos($label->getText(), "\n")) {
throw new \Exception('Label does not support line breaks');
}
if (!function_exists('imagettfbbox')) {
throw new \Exception('Function "imagettfbbox" does not exist: check your FreeType installation');
}
$labelBox = imagettfbbox($label->getFont()->getSize(), 0, $label->getFont()->getPath(), $label->getText());
if (!is_array($labelBox)) {
throw new \Exception('Unable to generate label image box: check your FreeType installation');
}
return new self(
intval($labelBox[2] - $labelBox[0]),
intval($labelBox[0] - $labelBox[7])
);
}
public function getWidth(): int
{
return $this->width;
}
public function getHeight(): int
{
return $this->height;
}
}