<?php
require_once '../phpqrcode/phpqrcode.php';
/**
* 生成二维码图片
* @param string $text 二维码内容
* @param string $outfile 默认为否,不生成文件,只将二维码图片返回,否则需要给出存放生成二维码图片的路径
* @param string $level 这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)。这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比。
* @param string $size 控制生成图片的大小,默认为4
* @param string $margin 控制生成二维码的空白区域大小
* @param string $saveandprint 保存二维码图片并显示出来,$outfile必须传递图片路径。
* @return null
*/
function create_qrcode($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
{
QRcode::png($text, $outfile, $level, $size, $margin, $saveandprint);
}
create_qrcode('{"url":"/pages/index/index"}', './image/qrcode.png', QR_ECLEVEL_L, 10, 0, true);
echo '<img src="./image/qrcode.png"><br/><br/>';
/**
* 组合二维码图片
* @param string $logo 准备好的logo图片
* @param string $QR 原有的二维码图片
* @param string $filename 新二维码文件名
* @return null
*/
function compose_qrcode($logo, $QR, $filename)
{
$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);
//输出图片
imagepng($QR, $filename);
}
$logo = './image/logo.png';//准备好的logo图片
$QR = './image/qrcode.png';//已经生成的原始二维码图
$filename = './image/newqrcode.png';//已经生成的原始二维码图
compose_qrcode($logo, $QR, $filename);
echo '<img src="'.$filename.'">';
php 使用 phpprcode 库 生成二维码
最新推荐文章于 2024-07-30 15:00:49 发布