php結合phpqrcode生成帶圖片LOGO的二維碼


PHP生成帶LOGO的二維碼,或許很多高手都已經實現了,但之前並沒有過多關注這方面,這段有個小項目要用到二維碼生成,索性就查了些資料,發現有一個PHP 類庫phpqrcode對生成這種二維碼很方便,索性就測試了一下,下面把自己的用法和代碼與菜鳥分享,希望高手鼓勵哦。


生成的二維碼效果圖

 

首先你需要下載這個類庫包,或者我后邊會附上這個類庫,具體的使用代碼:

1、生成基本的二維碼單元,不帶Logo的:

<?php    
//文件輸出    
    include('phpqrcode.php');    
// 二維碼數據    
    $data = 'http://www.codesc.net';    
// 生成的文件名    
   $filename = 'ewm.png';   
// 糾錯級別:L、M、Q、H    
    $errorCorrectionLevel = 'L';    
// 點的大小:1到10    
    $matrixPointSize = 4;    
    QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);    
?> 

 2、生成標准的和帶Logo的二維碼單元 :

<?php
include ('phpqrcode.php');
$value = 'http://www.codesc.net';//二維碼數據
$errorCorrectionLevel = 'L';//糾錯級別:L、M、Q、H
$matrixPointSize = 10;//二維碼點的大小:1到10
QRcode::png ( $value, 'ewm.png', $errorCorrectionLevel, $matrixPointSize, 2 );//不帶Logo二維碼的文件名
echo "二維碼已生成" . "<br />";
$logo = 'emwlogo.gif';//需要顯示在二維碼中的Logo圖像
$QR = 'ewm.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_height = imagesy ( $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, 'ewmlogo.png' );//帶Logo二維碼的文件名
?>

  phpqrcode.php類庫可以在這里下載:

http://sourceforge.net/projects/phpqrcode/

http://www.codesc.net/source/3782.shtml


免責聲明!

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



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