テクノロジーの進歩に伴い、QR コードの応用分野はますます広くなっています。今日は、PHP を使用して QR コードを生成する方法と、真ん中にロゴ画像を含む QR コードを生成する方法を紹介します。1. Google APIを使用してQRコードを生成する Google は比較的完全な QR コード生成インターフェイスを提供しています。API インターフェイスを呼び出すのは非常に簡単です。呼び出しコードは次のとおりです。 コードは以下のように表示されます: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * Google API QRコード生成 [QRコードは、任意のテキストを最大4296文字の英数字で保存できます。詳細については、QRコードのデータ形式を確認してください] * @param string $chl QR コードに含まれる情報は、数字、文字、バイナリ情報、または漢字です。 データ型は混合できません。データは UTF-8 URL エンコードされている必要があります * @param int $widhtHeight QRコード生成時のサイズ設定 * @param string $EC_level オプションのエラー修正レベル。QR コードは、紛失、誤読、あいまいなデータの回復に使用される 4 つのレベルのエラー修正をサポートします。 * L-デフォルト: 失われたデータの 7% を識別できます * M-15% 失われたデータを識別できます * Q-Can は 25% 失われたデータを識別できます * H-30% 失われたデータを識別できます * @param int $margin 生成された QR コードと画像の境界線の間の距離 */ functiongenerateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $chl = urlencode($chl); echo ''; } 2. PHP QR コード生成クラス ライブラリ PHP QR Code を使用して QR コードを生成します。 PHP QR Code は、QR コードを簡単に生成するために使用できる PHP QR コード生成ライブラリです。公式 Web サイトでは、ダウンロードと複数のデモをご覧いただけます: http://phpqrcode.sourceforge.net/。 公式 Web サイトから提供されているクラス ライブラリをダウンロードした後、phpqrcode.php を使用して QR コードを生成するだけです。もちろん、PHP 環境は GD2 サポートを有効にする必要があります。 phpqrcode.php はキー png() メソッドを提供します。このメソッドでは、パラメータ $text は 2 桁の情報テキストの生成を示し、パラメータ $outfile は QR コード画像ファイルを出力するかどうかを示します。デフォルトは no です。フォールト トレランス レートを示します。つまり、カバーされた領域をまだ識別できます。L (QR_ECLEVEL_L、7%)、M (QR_ECLEVEL_M、15%)、Q (QR_ECLEVEL_Q、25%)、H (QR_ECLEVEL_H、30%) です。パラメータ $size は生成される画像のサイズを示し、デフォルトは 3 です。パラメータ $margin は QR コードの周囲の境界線の空白領域の値を示します。パラメータ $saveandprint は QR コードを保存するかどうかを示します。そしてそれを表示します。 コードは以下のように表示されます: パブリック静的関数 png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4, $saveandprint=false) { $enc = QRencode::factory($level, $size, $margin); $enc->encodePNG($text, $outfile, $saveandprint=false); を返します。 } PHP QR コードの呼び出しは非常に簡単で、次のコードは「http://www.jb51.net」という内容の QR コードを生成できます。 PHPコード 「phpqrcode.php」を含めます; QRコード::png('http://www.jb51.net'); 実際の運用ではQRコードの途中に自社ロゴを入れて宣伝効果を高めます。では、ロゴを含む QR コードを生成するにはどうすればよいでしょうか?実際、原理は非常に簡単です。まず、PHP QR コードを使用して QR コード画像を生成し、次に PHP の画像関連機能を使用して、新しく生成された元の QR コード画像の中央に事前に用意されたロゴ画像を追加します。新しい QR コード画像を再生成します。コードは以下のように表示されます: 「phpqrcode.php」を含めます; $value = 'http://www.jb51.net' //QR コードの内容 $errorCorrectionLevel = 'L';//フォールトトレランスレベル $matrixPointSize = 6;//画像サイズを生成 //QRコード画像を生成 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';//用意されたロゴ画像 $QR = 'qrcode.png';//生成された元のQRコード画像 if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagex($QR);//QRコード画像の幅 $QR_height = imagesy($QR);//QRコード画像の高さ $logo_width = imagex($logo);//ロゴ画像の幅 $logo_height = imagey($logo);//ロゴ画像の高さ $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; //画像の再グループ化とサイズ変更 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height、$logo_width、$logo_height); } //画像を出力する imagepng($QR, 'helloweba.png'); echo ''; QR コードにはある程度の耐障害性が備わっているため、一般的な QR コードは、QR コードをスキャンすると途中までしかデコードできません。耐障害性を向上させるために情報の一部を繰り返し表現するため、QR コードの途中にロゴ画像を追加してもデコード結果には影響しません。