PHP内容类型不显示条形码图像


PHP Content-Type not displaying bar code image

我试图使用http://www.barcodebakery.com生成条形码,但我的脚本不显示条形码图像。下面是我的代码:

<?php 
require_once('../barcodegen/class/BCGFontFile.php');
require_once('../barcodegen/class/BCGColor.php');
require_once('../barcodegen/class/BCGDrawing.php');
require_once('../barcodegen/class/BCGcode128.barcode.php');

//$font = new BCGFontFile('./barcodegen/class/font/Arial.ttf', 18);
$color_black = new BCGColor(0, 0, 0);
$color_white = new BCGColor(255, 255, 255);
// Barcode Part
$code = new BCGcode128();
$code->setScale(2);
$code->setThickness(30);
$code->setForegroundColor($color_black);
$code->setBackgroundColor($color_white);
//$code->setFont($font);
$code->setStart(NULL);
$code->setTilde(true);
$code->parse('123456');
// Drawing Part
$drawing = new BCGDrawing('', $color_white);
$drawing->setBarcode($code);
$drawing->draw();

header('Content-Type: image/png');
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

我错过了什么吗?当我打印$drawing时,我得到值‰PNG IHDRÊO%zÍ”LtEXtCopyrightGenerated with Barcode Generator for PHP http://www.barcodephp.comYp¸³IDATxœíØÑnƒ †QXöþ¯Ì.LQa¶ÝŸ.圫q2óµtZk¥”Zëþóf9Ïìö瞎ίx>«ŸÓ›¯áþÚæW¼sîÿæù ïßáùÌÑ çwr4çÑ¿ñëòð'äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼ª­µw¯e÷"H^É‹ y$/‚äEÐ÷»ð¯ÕZK)ço7Ûø¦?Ú_ž¸»×С•Ãxkm«gŸÖ-ËgÕkóýi>rçÐ"V8Žg£íç~+Ú*‹çu( ÖZëcÛùeC{”‹·U÷Ú_’ž3ÚŸ¼{íì^/;©³µöÄvøaÖÍkô’þܹ'ZúáØ{½­m¯úuÚR–Þº_ú Fÿ3Ž*¼<ºò½Ý,iŽýb>ÌžúIEND®B, '

but header('Content-Type: image/png')不显示任何图像,只显示一个小图标。

您的代码应该按照用户指南中的示例工作。

为什么要打印$drawing ?只需在浏览器中打开该页面,您应该会看到生成的条形码。正如他们解释的那样

如果您之前指定了文件名,图像将被保存到该文件中,否则将显示。

所以,如果你想把它保存在某个地方,只需在需要的时候添加一个文件名。

$drawing = new BCGDrawing('/route/to/your/file.png', $colorBack);