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 に答える