tp5 生成二維碼


一:下載phpqrcode類文件

1.下載地址:https://sourceforge.net/projects/phpqrcode/

2.PHP環境必須開啟支持GD2擴展庫支持(一般情況下都是開啟狀態)

二:在image文件中上傳logo.png文件,上傳是為了為最后的結果做准備

三:在common中寫我們要用的方法

function scerweima($url=''){
Vendor('phpqrcode.phpqrcode');
$value = $url; //二維碼內容
$errorCorrectionLevel = 'L'; //容錯級別
$matrixPointSize = 5; //生成圖片大小
//生成二維碼圖片
$filename = VENDOR_PATH.'phpqrcode\images'.microtime().'.png';
QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
$QR = $filename; //已經生成的原始二維碼圖片文件
$QR = imagecreatefromstring(file_get_contents($QR));
//輸出圖片
imagepng($QR, 'qrcode.png');
imagedestroy($QR);
return '<img src="qrcode.png" alt="使用微信掃描支付">';
}
然后在需要引用的時候直接調用就行這個是不帶logo的下面的是帶logo的
function scerweima1($url=''){
Vendor('phpqrcode.phpqrcode');
$value = $url; //二維碼內容
$errorCorrectionLevel = 'H'; //容錯級別
$matrixPointSize = 6; //生成圖片大小
//生成二維碼圖片
$filename = VENDOR_PATH.'phpqrcode\images'.microtime().'.png';
QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
$logo = VENDOR_PATH.'phpqrcode\images'.'\logo.png'; //准備好的logo圖片
$QR = $filename; //已經生成的原始二維碼圖
if (file_exists($logo)) {
$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 / 4; //組合之后logo的寬度(占二維碼的1/5)
$scale = $logo_width/$logo_qr_width; //logo的寬度縮放比(本身寬度/組合后的寬度)
$logo_qr_height = $logo_height/$scale; //組合之后logo的高度
$from_width = ($QR_width - $logo_qr_width) / 2; //組合之后logo左上角所在坐標點
//重新組合圖片並調整大小
/*
* imagecopyresampled() 將一幅圖像(源圖象)中的一塊正方形區域拷貝到另一個圖像中
*/
imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
}
//輸出圖片
imagepng($QR, 'qrcode.png');
imagedestroy($QR);
imagedestroy($logo);
return '<img src="qrcode.png" alt="使用微信掃描支付">';
}
使用方法也是一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM