%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.145.103.127 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/esol.importexportexcel/lib/phpbarcode/ |
Upload File : |
<?php namespace Barcode; use Barcode\Exceptions\BarcodeException; class BarcodeGeneratorPNG extends BarcodeGenerator { /** * Return a PNG image representation of barcode (requires GD or Imagick library). * * @param string $code code to print * @param string $type type of barcode: * @param int $widthFactor Width of a single bar element in pixels. * @param int $totalHeight Height of a single bar element in pixels. * @param array $color RGB (0-255) foreground color for bar elements (background is transparent). * @return string image data or false in case of error. * @public */ public function getBarcode($fileName, $code, $type, $widthFactor = 2, $totalHeight = 30, $color = array(0, 0, 0)) { $barcodeData = $this->getBarcodeData($code, $type); if($barcodeData===false) return false; // calculate image size $width = ($barcodeData['maxWidth'] * $widthFactor); $height = $totalHeight; if (function_exists('imagecreate')) { // GD library $imagick = false; $png = imagecreate($width, $height); $colorBackground = imagecolorallocate($png, 255, 255, 255); //imagecolortransparent($png, $colorBackground); $colorForeground = imagecolorallocate($png, $color[0], $color[1], $color[2]); } elseif (extension_loaded('imagick')) { $imagick = true; $colorForeground = new \imagickpixel('rgb(' . $color[0] . ',' . $color[1] . ',' . $color[2] . ')'); $png = new \Imagick(); $png->newImage($width, $height, 'none', 'png'); $imageMagickObject = new \imagickdraw(); $imageMagickObject->setFillColor($colorForeground); } else { throw new BarcodeException('Neither gd-lib or imagick are installed!'); } // print bars $positionHorizontal = 0; foreach ($barcodeData['bars'] as $bar) { $bw = round(($bar['width'] * $widthFactor), 3); $bh = round(($bar['height'] * $totalHeight / $barcodeData['maxHeight']), 3); if ($bar['drawBar']) { $y = round(($bar['positionVertical'] * $totalHeight / $barcodeData['maxHeight']), 3); // draw a vertical bar if ($imagick && isset($imageMagickObject)) { $imageMagickObject->rectangle($positionHorizontal, $y, ($positionHorizontal + $bw), ($y + $bh)); } else { imagefilledrectangle($png, $positionHorizontal, $y, ($positionHorizontal + $bw) - 1, ($y + $bh), $colorForeground); } } $positionHorizontal += $bw; } //ob_start(); if ($imagick && isset($imageMagickObject)) { $png->drawImage($imageMagickObject); $png->writeImage($fileName); //echo $png; } else { imagepng($png, $fileName, 9); imagedestroy($png); } //$image = ob_get_clean(); //return $image; return true; } }