本文主要為大家分享一篇php如何通過Qrcode實現二維碼的產生的問題,具有很好的參考價值,希望對大家有所協助。一起跟隨小編過來看看吧。
<?php
/**
* phpqrcode.php提供了一個關鍵的png()方法,其中
* 參數$text表示產生二位的的資訊文本;
* 參數$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 Code非常簡單,如下代碼即可產生一張內容為"http://www.baidu.com/"的二維碼.
<p> include 'phpqrcode.php';
QRcode::png('http://www.baidu.com/');</p>
*/
include 'phpqrcode/phpqrcode.php';
//二維碼內容
$value = 'iphone';
//容錯層級
$errorCorrenctionLevel = 'l';
//二維碼圖片大小
$matrixPointSize = 6;
$path = RUNTIME_PATH."Temp/qrcode/";
// 產生的檔案名稱
$fileName = $path.time().'.png';
//產生二維碼
Qrcode::png($value,$fileName,$errorCorrenctionLevel,$matrixPointSize,2);
//圖片logo加入二維碼
$logo = '6s.jpg';
$qrcode =$fileName ;//二維碼路徑
$logo = imagecreatefromstring(file_get_contents($logo));
$qrcode = imagecreatefromstring(file_get_contents($qrcode));
$QR_width = imagesx($qrcode);//二維碼圖片寬度
$QR_height = imagesy($qrcode);//二維碼圖片高度
$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($qrcode, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
//儲存產生的二維碼
imagepng($qrcode, 'helloweixin.png');
echo '<img src="helloweixin.png">';
相關推薦:
php產生二維碼的三種方法
php產生二維碼
PHP二維碼產生類庫產生二維碼