バーコード クラスを使用してバーコードを生成し、生成されたバーコードを別の画像とマージします。
問題は、画像がマージされると、バーコードが黒いバウンディング ボックスで囲まれることです。
最初は、これは gif (バーコード) を jpeg とマージし、ヘッダーを jpg として設定していたためだと思っていましたが、gif とマージして、問題のあるブラック ボックスに一致するようにヘッダーを更新しても、まだ残っています。
コードの新しい gif バージョン:
$bc = new PrintBarcode('DARP CODE');
$bc->drawVoucher();
$src = $bc->getVoucher();
header('Content-Type: image/gif');
$bg = imagecreatefromgif('images/voucher.gif');
imagealphablending($src,true);
imagesavealpha($src, true);
imagecopymerge($bg, $src, 40, 380, 0, 0, imagesx($bg), imagesy($bg), 100);
imagegif($bg, null, 100);
imagedestroy($src);
imagedestroy($bg);
これらは、出力が gif であると述べているバーコード クラスのドキュメントです: http://www.shayanderson.com/php/php-barcode-generator-class-code-39.htm
上の画像で、バーコードの黒い境界ボックスなしでベース画像が表示されるはずのときに、画像が終了し、バーコードが始まる場所でそれを見ることができます。
少し調査した結果、ブラック ボックスは間違いなくバーコード イメージから来ていることが確認できました。黒のピクセルを白に置き換えようとしましたが、予想通りバーコードが見えなくなりました....