Пример #1
2
<?php

$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);
}
Пример #2
1
 function getMinimumQRCode($data, $errorCorrectLevel)
 {
     $mode = QRUtil::getMode($data);
     $qr = new QRCode();
     $qr->setErrorCorrectLevel($errorCorrectLevel);
     $qr->addData($data, $mode);
     $qrData = $qr->getData(0);
     $length = $qrData->getLength();
     for ($typeNumber = 1; $typeNumber <= 10; $typeNumber++) {
         if ($length <= QRUtil::getMaxLength($typeNumber, $mode, $errorCorrectLevel)) {
             $qr->setTypeNumber($typeNumber);
             break;
         }
     }
     $qr->make();
     return $qr;
 }
Пример #3
0
<?php

// デフォルト値を設定
ini_set('qr.default_format', QR_FMT_PNG);
ini_set('qr.default_magnify', 3);
$qr = new QRCode();
$qr->addData('foo');
// オブジェクトを複製し、途中から異なる内容のQRコードを作成できる
$qr2 = clone $qr;
$qr->addData('bar');
$qr->finalize();
$qr->outputSymbol('foobar.png');
$qr2->addData('baz');
$qr2->finalize();
$qr2->outputSymbol('foobaz.png');
Пример #4
0
<?php

require_once "qrcode.php";
//---------------------------------------------------------
print "<h4>明示的に型番を指定</h4>";
$qr = new QRCode();
// エラー訂正レベルを設定
// QR_ERROR_CORRECT_LEVEL_L : 7%
// QR_ERROR_CORRECT_LEVEL_M : 15%
// QR_ERROR_CORRECT_LEVEL_Q : 25%
// QR_ERROR_CORRECT_LEVEL_H : 30%
$qr->setErrorCorrectLevel(QR_ERROR_CORRECT_LEVEL_L);
// 型番(大きさ)を設定
// 1〜10
$qr->setTypeNumber(3);
// データ(文字列※)を設定
// ※日本語はSJIS
$qr->addData("QRコード");
// QRコードを作成
$qr->make();
// HTML出力
$qr->printHTML();
//---------------------------------------------------------
print "<h4>型番自動</h4>";
// 型番が最小となるQRコードを作成
$qr = QRCode::getMinimumQRCode("QRコード", QR_ERROR_CORRECT_LEVEL_L);
// HTML出力
$qr->printHTML();