Beispiel #1
0
extension_loaded('qr') || dl('qr.so') || exit(1);
$data = 'QRコードは、(株)デンソーウェーブの登録商標です。';
$data = mb_convert_encoding($data, 'SJIS-win', 'UTF-8');
// クラス QRCode
$qr = new QRCode(array('version' => 1, 'maxnum' => 16, 'mode' => QRCode::EM_KANJI));
// データを入力
$qr->addData($data);
// 終了処理、これ以後のデータ入力は不可
// 終了処理をせずに出力しようとするとエラー
$qr->finalize();
// 出力設定は初期化時、終了処理前、終了処理後のいつでもできる
$qr->setFormat(QRCode::FMT_TIFF);
$qr->setMagnify(2);
$qr->setOrder(-1);
// 出力
var_dump($qr->getMimeType());
$qr->outputSymbol('qr.tiff');
// Iterator としてシンボルを一つずつ取得できる
$qr->setFormat(QRCode::FMT_BMP);
foreach ($qr as $pos => $symbol) {
    file_put_contents(sprintf('qr%d.bmp', $pos + 1), $symbol);
}
// 生成したQRコードをイメージリソースとして取得することもできる
// オプションの第一引数 $colors が指定された場合、カラーインデックスが代入される
// $colors[0] には描画色が、$colors[1] には背景色が、それぞれ代入される
$qr->setOrder(0);
$im = $qr->getImageResource($colors);
imagecolorset($im, $colors[0], 255, 255, 0);
imagecolorset($im, $colors[1], 255, 0, 0);
imagejpeg($im, 'qr.jpg', 50);