この記事では、主に PHP でロゴ画像を含む QR コードを生成する 2 つの方法を説明します。お役に立てれば幸いです。
1. Google API を使用して QR コードを生成します
Google は、API インターフェースを呼び出すのが非常に簡単です:
$urlToEncode="http://www.php.cn"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 不能混合数据类型,数据必须经过UTF-8 URL-encoded * @param int $widhtHeight 生成二维码的尺寸设置 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 * L-默认:可以识别已损失的7%的数据 * M-可以识别已损失15%的数据 * Q-可以识别已损失25%的数据 * H-可以识别已损失30%的数据 * @param int $margin 生成的二维码离图片边框的距离 */ function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $chl = urlencode($chl); echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.' &cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.' " widhtHeight="'.$widhtHeight.'"/>'; }
2. PHP QR コード生成を使用します。ライブラリ PHP QR Code は QR コードを生成します
PHP QR Code は、QR コードを簡単に生成するために使用できる PHP QR コード生成ライブラリです。公式 Web サイトでは、ダウンロードと複数のデモをご覧いただけます: http://phpqrcode.sourceforge。 。ネット/。
公式 Web サイトから提供されるクラス ライブラリをダウンロードした後、phpqrcode.php を使用して QR コードを生成するだけです。もちろん、PHP 環境は GD2 サポートを有効にする必要があります。 phpqrcode.php はキー png() メソッドを提供し、パラメータ text は 2 桁の情報テキストの生成を示し、パラメータ outfile は QR コード画像を出力するかどうかを示します。ファイル、デフォルトは no です。パラメータ level はフォールト トレランス レートを表します。つまり、カバーされたエリアが引き続き認識可能です。L (QRECLEVELL、7level はフォールト トレランス レート、つまり、カバーされたエリアが引き続き認識可能です) を表します。それぞれ L (QRECLEVELL、7size は生成された画像のサイズを表します。デフォルトは 3 です。パラメータ margin は QR コードの周囲の境界線の空白領域の間隔の値を表します。パラメータ margin は空白の間隔の値を表しますQR コードの周囲の境界線の領域; saveandprint パラメータは、QR コードを保存して表示するかどうかを表します。
public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4, $saveandprint=false) { $enc = QRencode::factory($level, $size, $margin); return $enc->encodePNG($text, $outfile, $saveandprint=false); }
PHP QR コードを呼び出すと、「http:/」という内容の QR コードを生成できます。 /www.jb51.net".
Php コード
include 'phpqrcode.php';
QRcode::png('http://www .jb51.net');
実際のアプリケーションでは、独自のロゴを追加しますQR コードの真ん中にロゴを挿入して、宣伝効果を高めます。実際、PHP QR コードを使用して QR コード画像を生成するのは非常に簡単です。新しく生成された元の QR コード画像の中央に、事前に用意されたロゴ画像を追加し、新しい QR コード画像を再生成する関連関数
include 'phpqrcode.php'; $value = 'http://www.jb51.net'; //二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';//准备好的logo图片 $QR = 'qrcode.png';//已经生成的原始二维码图 if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//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 '<img src="helloweba.png">';
以下は、上記のコードへの参照です。画像ファイルは生成されません。次のコードを img.php
<?php include 'phpqrcode.php'; $value = $_GET['url'];//二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'jb51.png';//准备好的logo图片 $QR = 'qrcode.png';//已经生成的原始二维码图 if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//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); } //输出图片 Header("Content-type: image/png"); ImagePng($QR);
php QR コード コードの生成およびダウンロード メソッド
以上がPHPを使用してロゴ画像付きのQRコードを生成する2つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。