function BARCODE::_c39Barcode in Barcode 6
1 call to BARCODE::_c39Barcode()
File
- ./
barcode.inc.php, line 515
Class
Code
function _c39Barcode($barnumber, $scale = 1, $file = "", $checkdigit = false) {
$bars = $this
->_c39Encode($barnumber, $checkdigit);
if (empty($file)) {
header("Content-type: image/" . $this->_format);
}
if ($scale < 1) {
$scale = 2;
}
$total_y = (double) $scale * $this->_height + 10 * $scale;
if (!$space) {
$space = array(
'top' => 2 * $scale,
'bottom' => 2 * $scale,
'left' => 2 * $scale,
'right' => 2 * $scale,
);
}
/* count total width */
$xpos = 0;
$xpos = $scale * strlen($bars) + 2 * $scale * 10;
/* allocate the image */
$total_x = $xpos + $space['left'] + $space['right'];
$xpos = $space['left'] + $scale * 10;
$height = floor($total_y - $scale * 20);
$height2 = floor($total_y - $space['bottom']);
$im = @imagecreatetruecolor($total_x, $total_y);
$bg_color = @imagecolorallocate($im, $this->_bgcolor[0], $this->_bgcolor[1], $this->_bgcolor[2]);
@imagefilledrectangle($im, 0, 0, $total_x, $total_y, $bg_color);
$bar_color = @imagecolorallocate($im, $this->_color[0], $this->_color[1], $this->_color[2]);
for ($i = 0; $i < strlen($bars); $i++) {
$h = $height;
$val = $bars[$i];
if ($val == 1) {
@imagefilledrectangle($im, $xpos, $space['top'], $xpos + $scale - 1, $h, $bar_color);
}
$xpos += $scale;
}
$font_arr = @imagettfbbox($scale * 10, 0, $this->_font, $barnumber);
$x = floor($total_x - (int) $font_arr[0] - (int) $font_arr[2] + $scale * 10) / 2;
@imagettftext($im, $scale * 10, 0, $x, $height2, $bar_color, $this->_font, $barnumber);
if ($this->_format == "png") {
if (!empty($file)) {
@imagepng($im, $file . "." . $this->_format);
}
else {
@imagepng($im);
}
}
if ($this->_format == "gif") {
if (!empty($file)) {
@imagegif($im, $file . "." . $this->_format);
}
else {
@imagegif($im);
}
}
if ($this->_format == "jpg" || $this->_format == "jpeg") {
if (!empty($file)) {
@imagejpeg($im, $file . "." . $this->_format);
}
else {
@imagejpeg($im);
}
}
@imagedestroy($im);
}