PHP生成二维码并添加文字(phpqrcode类)

先看效果图

在这里插入图片描述

以下是phpqrcode类文件(里面包含字体文件,可直接用)

链接: https://pan.baidu.com/s/1u_3AAFtFxWuRdsCxJtjpyQ
提取码:cy2e

生成二维码加汉字

/*
	url:二维码保存文件路径
	code:二维码图片名
	content:二维码下方文字内容(这里存的是一维数组,每个下标对应的每行文字,循环显示)
*/
public function getQRcode($url, $code, $content){
        // 调用phpqrcode
        Vendor('phpqrcode.phpqrcode');
        $qrcode = new \QRcode();
        // 拼接二维码图片地址
        $shareimg = 'fail'.$code . '.png';
        $shareimg =  './vendor/phpqrcode/img/'. $shareimg;
        // 首先生成一张不带文字的二维码图片
        /*
            参数1:二维码里的内容
            参数2:生成二维码的保存地址
            参数3:二维码可被覆盖的百分比,可以控制二维码的容错率(L->7%, M->15%, Q->25%, H->30%)
            参数4:生成二维码图片的大小
            参数5:控制生成二维码图片的空白区域大小
        */
        $qrcode->png($code, $shareimg, 'M', 12, 13);
        // 先读取存好的二维码图片,再追加文字
        $image = imagecreatefrompng($shareimg);
        // 字体文件
        $font = './vendor/phpqrcode/font/simsun.ttc'; 
        // 文字颜色
        $color = imagecolorallocate($image,0,0,0); 
        // 创建二维码图片下文字
        foreach ($content as $key => $value) {
            if($key==0){
         		/*
					参数1:读取现有的二维码图片
					参数2:字体大小
					参数3:字体倾斜的角度
					参数4,5:文字的x,y轴坐标
					参数6:文字的颜色
					参数7:字体的样式(引入的字体文件)
					参数8:二维码下方的文字内容
				*/
                imagettftext($image, 15, 0, 150, 430, $color, $font, $value); // 创建文字(编码)
            }else{
            	// 这里每行加24,设置的是文字的行距
                imagettftext($image, 15, 0, 150, $key*24+430, $color, $font, $value); // 创建文字(循环内容)
            }  
        }

        // 保存新生成的二维码图片
        imagepng($image, $url);
    }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值