php生成二维码合成文字、背景图并保存本地图片

目录

1、实现效果,二维码二维码合成文字、背景图

2、下载并引入qrcode

3、创建static文件夹下载字体和背景图到这

4、创建test2.php,合成代码


1、实现效果,二维码二维码合成文字、背景图

2、下载并引入qrcode
1、到phpqrcpde官网下载类库,官网地址:http://phpqrcode.sourceforge.net/
2、引入phpqrcode文件夹下面phpqrcode.php"
include "phpqrcode/phpqrcode.php";
3、创建static文件夹下载字体和背景图到这

扫描二维码关注公众号,回复: 17070609 查看本文章

创建img1和img2保存生成后合成图片

4、创建test2.php,合成代码
<?php

include "phpqrcode/phpqrcode.php";
$name=date("YmdHis");//图片名称
$value = "http:/localhost.com/pay/shop?name=".$name;//二维码地址
$errorCorrectionLevel = 'H';//纠错级别:L、M、Q、H
$matrixPointSize = 27;//二维码点的大小:1到10(最大27)
$path=dirname(__FILE__);

$filename=$path.'/img1/'.$name.'.png';
$filename2=$path.'/img2/'.$name.'.png';
$logo=$path.'/static/bj.png';
$fonts=$path.'/static/arialbd.ttf';

if (!file_exists($filename)) {

    $object = new \QRcode();
    $object->png($value, $filename, $errorCorrectionLevel, $matrixPointSize, 0);

    $dest = imagecreatefrompng($logo);
    imagesavealpha($dest, true);//这里很重要

    $src = imagecreatefrompng($filename);

    imagecopymerge($dest, $src, 700, 1220, 0, 0, imagesx($src), imagesy($src), 100); //new

    $red = imagecolorallocate($dest, 255, 0, 0);

    imagefttext($dest, 100, 0, 650, 2400, $red, $fonts, $name);    //new
    imagePng($dest, $filename2);
    imagedestroy($dest);
    imagedestroy($src);

}
$generatedImageUrl = "http://localhost/code/img2/".$name.'.png';

$width = 300;  // 设置宽度为300像素
$height = 300;  // 设置高度为200像素
echo "<img src=\"$generatedImageUrl\" alt=\"二维码图片\" width=\"$width\" height=\"$height\">";
  1. 首先,通过include语句引入了phpqrcode.php文件,该文件是PHP QR Code库的核心文件。
  2. 接着,使用date函数生成一个唯一的文件名,用于保存生成的二维码图片。
  3. 使用$value变量存储二维码的内容,这里是一个示例URL。
  4. 定义了纠错级别和二维码点的大小。
  5. 使用dirname(__FILE__)获取当前文件所在路径,并将其保存在$path变量中。
  6. 根据路径和文件名生成完整的保存路径。
  7. 检查是否已存在同名的二维码图片,如果不存在,则进行以下操作:
    • 使用new \QRcode()创建一个QRcode对象。
    • 调用对象的png方法生成二维码图片。
    • 使用imagecreatefrompng函数创建一个透明背景的画布。
    • 使用imagecreatefrompng函数创建一个二维码图片。
    • 使用imagecopymerge函数将二维码图片合并到背景画布中。
    • 使用imagecolorallocate函数创建一个红色的颜色。
    • 使用imagefttext函数在背景画布上添加文字。
    • 使用imagePng函数将合并后的图片保存到指定路径。
    • 使用imagedestroy函数销毁画布资源。
  8. 设置生成的图片的URL地址。
  9. 设置图片的宽度和高度。
  10. 最后,使用echo语句将带有宽度、高度和URL的<img>标签输出到页面上。 请确保你已经正确安装了PHP QR Code库,并且提供了正确的文件路径和URL地址。

猜你喜欢

转载自blog.csdn.net/weixin_39934453/article/details/133070866