1. 程式人生 > >PHP開發之基於phpqrcode生成帶LOGO影象的二維碼例項

PHP開發之基於phpqrcode生成帶LOGO影象的二維碼例項

PHPQRCode 是PHP用來處理二維條形碼的開發包。基於C語言的 libqrencode 庫開發,提供生成二維條形碼功能,包括 PNG、JPG 格式。使用純 PHP 實現,無需依賴第三方包,除了 GD2 除外。
本文例項講述了PHP基於phpqrcode生成帶LOGO影象的二維碼。分享給大家供大家參考。具體如下:

這裡PHP使用phpqrcode生成帶LOGO影象的二維碼,使用起來很方便,程式碼中含生成不帶Logo的標準二維碼和生成帶Logo的二維碼,可根據需要進行改進:

<?php
include ('phpqrcode/phpqrcode.php');
createQR('http://www.discuz.ailab.cn/','ewm','');
echo "二維碼已生成<img src=\"ewm.png\">" . "<br />";

function createQR($text,$imgName,$logo='',$errorCorrectionLevel = 'L',$matrixPointSize = 10){
	QRcode::png ($text,$imgName.'.png',$errorCorrectionLevel,$matrixPointSize,2);
	if($logo){
		$QR = imagecreatefromstring(file_get_contents($imgName.'.png'));
		$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,$imgName.'.png' );//帶Logo二維碼
	}
}
?>

附phpqrcode類庫下載地址:http://phpqrcode.sourceforge.net/