標籤:
利用PHP QRcode產生二維碼;
php QRcode 官網 http://phpqrcode.sourceforge.net/
在官網下載 phpqrcode.php就ok啦;
然後,查看自己的php環境是否開啟GD2,若沒有,開啟支援即可;
利用 phpqrcode.php 的 function png() 方法便可產生最基本的二維碼;
<?php
include ‘phpqrcode.php‘;
$value = ‘http://www.cnblogs.com/laowenBlog/‘; //二維碼內容
QRcode::png( $value );
?>
實際應用中,我們要在二維碼的中間加上自己的LOGO。代碼如下:
<?php
include ‘phpqrcode.php‘; // 引入phpqrcode.php
$value = ‘http://www.cnblogs.com/laowenBlog/‘; // 要產生的二維碼的內容
$errorCorrectionLevel = ‘H‘; // 容錯層級
// L 7%的字碼可被修正
// M 15%的字碼可被修正
// Q 25%的字碼可被修正
// H 30%的字碼可被修正
$matrixPointSize = 10; // 產生圖片大小
$img = "img.png"; // 產生圖片的名字
//產生二維碼圖片
QRcode::png( $value, $img, $errorCorrectionLevel, $matrixPointSize, 3 );
// 參數1 二維碼的內容
// 參數2 產生二維碼圖片的名字
// 參數3 二維碼識別的容錯層級
// 參數4 產生二維碼的圖片的大小
// 參數5 二維碼周圍邊框空白地區間距值
$logo = ‘logo.png‘; // 準備好的logo圖片
$QR = $img; // 已經產生的原始二維碼圖
// 判斷logo是否存在
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圖片寬度
$logo_height = imagesy($logo);//logo圖片高度
$logo_qr_width = $QR_width / 4;
$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, ‘ok.png‘);
echo ‘<img src="ok.png">‘;
die();
?>
產生如下:
PHP 產生二維碼