php 生成二维码

本文介绍如何使用PHPQRcode库生成包含自定义Logo的二维码。通过简单的代码示例展示了如何设置二维码的内容、容错级别及尺寸,并将特定Logo嵌入到二维码中心。

利用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();

?>

生成如下:

转载于:https://www.cnblogs.com/gyrgyr/p/5953713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值