使用PHP生成二维码图像

1.PHP生成二维码图像的类QRcode

http://www.phper.org.cn/?post=128

 

 

QRcode是用于生成二维条形码的开放源码 (LGPL) 库。提供 API 创建条码图像。

使用方法如下:

include('QRcode.php');
// QRcode::png ('http://www.phper.org.cn', 'image.png');	// 导出图像
QRcode::png ('http://www.phper.org.cn');

更多的信息请参阅http://phpqrcode.sourceforge.net/

附件下载:
QRcode.zip 19.05KB

 

2.使用PHP生成带LOGO的个性化二维码图像

http://www.phper.org.cn/?post=129

 

PHP生成二维码可以通过QRcode类来实现,请参阅:http://www.phper.org.cn/?post=128

下面是在二维码QR图中加LOGO的实现方法,其主要步骤有:

1、生成QR原图;

2、以加水印的方式加上LOGO图片。

这样就可以生成个性化的二维码了。

$data = 'http://www.phper.org.cn';
$size = '200x200';
$logo = './logo.jpg';	// 中间那logo图

// 通过google api生成未加logo前的QR图,也可以自己使用RQcode类生成
$png = 'http://chart.googleapis.com/chart?chs=' . $size . '&cht=qr&chl=' . urlencode($data) . '&chld=L|1&choe=UTF-8';

$QR = imagecreatefrompng($png);
if($logo !== FALSE)
{
	$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);
}
header('Content-type: image/png');
imagepng($QR);
imagedestroy($QR);

不防自己动手试试。

 

3.利用Google API生成不带Logo图片的二维码

$urlToEncode="http://blog.qita.in/";
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl,$Height ='150',$widht='150',$EC_level='L',$margin='0')
{
 $chl = urlencode($chl); 
 echo '<img src="http://chart.apis.google.com/chart?chs='.$widht.'x'.$Height.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" height="'.$Height.'" widht="'.$widht.'"/>';
}

 

 

posted @ 2013-08-21 22:46  Athrun  阅读(2106)  评论(0编辑  收藏  举报