PHP生成帶LOGO的二維碼,或許不少高手都已經實現了,但以前並無過多關注這方面,這段有個小項目要用到二維碼生成,索性就查了些資料,發現有一個PHP 類庫phpqrcode對生成這種二維碼很方便,索性就測試了一下,下面把本身的用法和代碼與菜鳥分享,但願高手鼓勵哦。php
生成的二維碼效果圖html
首先你須要下載這個類庫包,或者我後邊會附上這個類庫,具體的使用代碼:測試
一、生成基本的二維碼單元,不帶Logo的:.net
<?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); ?>
二、生成標準的和帶Logo的二維碼單元 :code
<?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類庫能夠在這裏下載:htm
http://sourceforge.net/projects/phpqrcode/blog
http://www.codesc.net/source/3782.shtmlget