ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してQRコードを生成する2つの方法(ロゴ画像付き)_PHPチュートリアル

PHPを使用してQRコードを生成する2つの方法(ロゴ画像付き)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:35:561073ブラウズ

1. Google API を使用して QR コードを生成します
Google は、比較的完全な QR コード生成インターフェイスを提供しています。呼び出しコードは次のとおりです:

コードをコピーします。は次のとおりです:
$ urlToEncode="http://www.jb51.net";
generateQRfromGoogle($urlToEncode);
functiongenerateQRfromGoogle($chl,$widhtHeight ='150) ',$EC_level='L' ,$margin='0')
{
$chl = urlencode($chl)
echo 'QR コード " widhtHeight="'.$widhtHeight.'"/>'



2 番目に、PHP QR コード生成ライブラリ PHP QR Code を使用して QR コードを生成します

QR Code は PHP QR コード コード生成クラス ライブラリで、これを使用して 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 コードを保存するかどうかを示します。そしてそれを表示します。



コードをコピーします

コードは次のとおりです:


public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4,
$saveandprint= false)
{
$enc = QRecode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);


PHP QR コードは非常にシンプルで、次のコードは「http://www.jb51.net」という内容の QR コードを生成できます。
PHP コード include 'phpqrcode::png('http: //www .jb51.net'); 実際のアプリケーションでは、宣伝効果を高めるためにQRコードの中央に独自のロゴを追加します。では、ロゴを含む QR コードを生成するにはどうすればよいでしょうか?実際、原理は非常に簡単です。まず、PHP QR コードを使用して QR コード画像を生成し、次に PHP の画像関連機能を使用して、新しく生成された元の QR コード画像の中央に事前に用意されたロゴ画像を追加します。新しい QR コード画像を再生成します。

コードをコピーします

コードは次のとおりです:

include '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 = imagey($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');


QR コードなのである程度のフォールトトレランスを可能にするため、一般的な QR コードは部分的に覆われていてもデコードできますが、多くの場合、QR コードをスキャンすると途中までしかデコードできません。これは、ジェネレーターが繰り返し表現するためです。このため、QR コードの途中にロゴ画像を追加してもデコード結果には影響しません。


http://www.bkjia.com/PHPjc/741844.html

tru​​ehttp://www.bkjia.com/PHPjc/741844.html技術記事 1. Google API を使用して QR コードを生成します。Google は、比較的完全な QR コード生成インターフェイスを提供します。呼び出しコードは次のとおりです。 $urlToEnc...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。