PHPはphpqrceode類に基づいて二次元コードを生成する方法の例を詳しく説明します。
4328 ワード
HP QRコードはPHPの二次元コードの生成クラスで、それを利用して簡単に二次元コードを生成できます。公式サイトではダウンロードと複数のデモデモデモデモデモを提供しています。アドレスを確認してください。
http://phpqrcode.sourceforge.net/
公式サイトで提供されているクラスライブラリをダウンロードした後、phpqrceode.phpを使うだけで二次元コードが生成されます。もちろん、PHP環境はGD 2のサポートをオープンしなければなりません。
phpqrceode.phpはキーのpng()方法を提供しています。
パラメータ$textは、2ビットを生成する情報テキストを表します。
パラメータ$outfileは二次元コード画像ファイルを出力するかどうかを表します。
パラメーター$levelは、フォールトトレランス率を表しています。つまり、カバーされている領域があり、さらに識別できます。それぞれL(QR_)です。ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%)
パラメータ$sizeは、画像の生成サイズを表します。デフォルトは3です。パラメータ$marginは、二次元コードの周りの外枠の空白領域の間隔の値を表します。
パラメータ$saveandprintは、二次元コードを保存して表示するかどうかを表します。
コードは以下の通りです
..。 コードは以下の通りです
この記事ではPHPがphpqrceode類に基づいて二次元コードを生成する方法の例について詳しく紹介しています。より多くの関連phpqrceode類が二次元コードを生成する内容については、以前の記事を検索したり、下記の関連記事を閲覧したりしてください。これからもよろしくお願いします。
http://phpqrcode.sourceforge.net/
公式サイトで提供されているクラスライブラリをダウンロードした後、phpqrceode.phpを使うだけで二次元コードが生成されます。もちろん、PHP環境はGD 2のサポートをオープンしなければなりません。
phpqrceode.phpはキーのpng()方法を提供しています。
パラメータ$textは、2ビットを生成する情報テキストを表します。
パラメータ$outfileは二次元コード画像ファイルを出力するかどうかを表します。
パラメーター$levelは、フォールトトレランス率を表しています。つまり、カバーされている領域があり、さらに識別できます。それぞれL(QR_)です。ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%)
パラメータ$sizeは、画像の生成サイズを表します。デフォルトは3です。パラメータ$marginは、二次元コードの周りの外枠の空白領域の間隔の値を表します。
パラメータ$saveandprintは、二次元コードを保存して表示するかどうかを表します。
コードは以下の通りです
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://www.cnblogs.com/txw1958/の二次元コード
include 'phpqrcode.php';
QRcode::png('http://www.cnblogs.com/txw1958/');
実際の応用では、二次元コードの中に自分のロゴを入れて、宣伝効果を高めました。ロゴが入った二次元コードはどうやって生成されますか?原理は簡単です。まずPHP QRコードを使って二次元コード画像を生成してから、phpのイメージ相関関数を利用して、事前に準備したlogo画像を生成した元の二次元コード画像の中に入れて、新しい二次元コード画像を新たに生成します。..。 コードは以下の通りです
include 'phpqrcode.php';
$value = 'http://www.cnblogs.com/txw1958/'; //
$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, 'helloweixin.png');
echo '<img src="helloweixin.png">';
include 'phpqrcode.php';
$value = 'http://www.cnblogs.com/txw1958/'; //
$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, 'helloweixin.png');
echo '<img src="helloweixin.png">';
二次元コードは一定のフォールトトレランスを可能にするため、一般的な二次元コードは、カバー部分であっても復号可能であり、常に二次元コードをスキャンするとき、半分以下までスキャンしてスキャン結果を復号することができる。これは、生成器が部分情報を繰り返し表現して、フォールトトレランスを向上させるためである。これはなぜ私たちが二次元コードの中にLOGO画像を入れたのかが復号結果に影響しないからです。この記事ではPHPがphpqrceode類に基づいて二次元コードを生成する方法の例について詳しく紹介しています。より多くの関連phpqrceode類が二次元コードを生成する内容については、以前の記事を検索したり、下記の関連記事を閲覧したりしてください。これからもよろしくお願いします。