0

目前,我正在使用 Shay Anderson 的课程(http://www.shayanderson.com/php/php-barcode-generator-class-code-39.htm)生成条形码,并且我能够成功显示生成的条形码浏览器如下:

$bc = new PrintBarcode('DARP CODE');
$bc->drawVoucher();
$src = $bc->getVoucher();

// Output and free from memory
header('Content-Type: image/jpeg');
imagejpeg($src);

但现在我正在尝试修改我的脚本以将条形码覆盖在另一个图像之上以创建凭证但我似乎无法让它工作,我只是在 Chrome 中得到损坏的图像图标,并在控制台中显示以下警告:

Resource interpreted as Document but transferred with MIME type image/jpeg

$bc = new PrintBarcode('DARP CODE');
$bc->drawVoucher();
$src = $bc->getVoucher();

header('Content-Type: image/jpeg');

// create actual voucher with barcode overlayed on voucher background 
$bg  = imagecreatefromjpeg('images/voucher.jpg');

imagecopymerge($bg, $src, 0, 0, 0, 0, imagesx($bg), imagesy($bg), 75);

imagejpeg($bg, null, 100);

imagedestroy($bg);

错误报告已开启,我没有收到警告、通知或致命错误。任何帮助表示赞赏。

我唯一能想到的是,从条形码类的文档中,它将条形码生成为 gif,所以不确定我是否遗漏了几个步骤。

4

1 回答 1

0

原来问题在于我用作合并基础的图像不太正确,所以我将它从 png 正确转换为 jpg(第一次下载 png 我只是简单地保存了所有文件到jpeg)使用photoshop,这很好,澄清一下,这是代码:

$bc = new PrintBarcode('DARP CODE');
$bc->drawVoucher();
$src = $bc->getVoucher();

header('Content-Type: image/jpeg');

$bg  = imagecreatefromjpeg('images/voucher.jpg');

imagecopymerge($bg, $src, 40, 380, 0, 0, imagesx($bg), imagesy($bg), 100);

imagejpeg($bg, null, 100);

imagedestroy($src);
imagedestroy($bg);
于 2013-01-22T13:17:54.127 回答