更多>>PHP程序设计 Blog

使用 phpqrcode 类生成二维码图片的使用实例

使用 phpqrcode 生成二维码图片以及生成带 LOGO 的二维码图片

     

实例使用说明:


1. 引用类文件

2. 参数配置

3. 保存配置

4. 生成二维码

5. 给二维码图片添加 LOGO


文末附有 phpqrcode 类文件的下载


注意事项:

(1)默认生成的二维码图片是直接在浏览器中打开显示的。

(2)想让生成二维码图片保存到本地或服务器,需要在第2步中把参数 $qr_outfile 设置为 true。

(3)想生成带LOGO的二维码,除需要准备一个LOGO图片外,还需要在第2步中把参数 $qr_outfile 设置为 true。


完整代码如下:

// 1. 引用类文件
require_once 'phpqrcode.php';
// 2. 参数配置
$qr_text = 'http://www.yiduhao.com/'; // 二维码内容
$qr_outfile = false; // 是否保存二维码图片到本地或服务器, 默认值  false
$qr_level = 'L'; // 纠错级别: L, M, Q, H, 默认值 L
$qr_size = 6; // 图片大小, 默认值 3
$qr_margin = 4; // 二维码图片,内容部分距离边界的白色间距, 默认值 4
// 3. 保存配置
$qr_outfile_path = false;
if ($qr_outfile == true) {
	// 设置保存路径
	$full_save_path="./qr/";
	if (!file_exists($full_save_path)) {
		mkdir($full_save_path,0777);
	}
	$file_name = 'def'; // 二维码图片文件名
	$qr_outfile_path = $full_save_path.$file_name.'.png'; // 生成的路径文件名
}
// 4. 生成二维码
QRcode::png($qr_text, $qr_outfile_path, $qr_level, $qr_size, $qr_margin, false);
// 5. 给二维码图片添加 LOGO
$is_add_logo = false; // 是否添加 LOGO, 默认 false
if ($is_add_logo == true && $qr_outfile == true) {
	$logo = 'c.png'; // 准备好的 logo 图片, jpg 或 png 均可
	$QR = $qr_outfile_path; //已经生成的原始二维码图
	
	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 / 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, $qr_outfile_path);
}


生成的二维码图片如下:


不带LOGO的二维码:

def.png


带LOGO的二维码:

abc.png


附:phpqrcode 类文件下载

phpqrcode.zip


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

captcha
看不清?点击图片换一张