PHP上的PHP叠加GIF

时间:2013-01-22 11:04:28

标签: php gd

目前我正在使用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,因此不确定我是否缺少一些步骤。

1 个答案:

答案 0 :(得分: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);