雅安论坛

标题: phpqrcode生成的二维码加上文字 [打印本页]

作者: 未命名    时间: 2020-5-10 22:02
标题: phpqrcode生成的二维码加上文字
phpqrcode生成的二维码加上文字,今天有朋友问了下,说网上的有不少这样的文章,本就很简单的一个问题,时候的天花乱坠。更可怕的都是很多复制粘贴,一个错,基本好几页都是错。哎。我平时做这方面不多,但是也就分享下我是怎么做的
首先去phpqrcode官方网站下载库文件,也可以直接从我这里下载 (, 下载次数: 0) ,文件多,但是只用的到一个 phpqrcode.php文件;
在项目中引入该文件,我是原生开发,实际过程中,可以按照自己的情况来
  1. include 'phpqrcode.php';
复制代码
  1. $url = 'https://www.yaanbbs.net'; // 雅安论坛网址
复制代码
我们来简单说下其中参数的意思:这里面的参数
       第一个参数$text 需要生成的内容;
  第二个参数$outfile默认为否,不生成文件,只将二维码图片返回,否则需要给出存放生成二维码图片的路径,比如说 $outfile='./tem/1.png',在二维码加字的时候就需要保存;
  第三个参数$level默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)。这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比。
  利用二维维码的容错率,我们可以将头像放置在生成的二维码图片任何区域。
  第四个参数$size,控制生成图片的大小,默认为4
  第五个参数$margin,控制生成二维码的空白区域大小
  第六个参数$saveandprint,保存二维码图片并显示出来,$outfile必须传递图片路径。

大致思路就是,先生成一个二维码,然后再这个二维码基础上加文字,
  1. $imgtemp = QRcode::png($text,  $outfile='./temp/'.$img, $level=QR_ECLEVEL_L, $size=9, $margin=6,$saveandprint=false);
  2. $wenzi = '自己定义的文字';
  3. $image = imagecreatefrompng('./temp/'.$img); //加载已经生成过的图片

  4. $font =  './fonts/y.TTF'; // 载入字体文件
  5. $color = imagecolorallocate($image,0,0,0); // 文字颜色
  6. imagettftext($image, 13, 0, 50, 340, $color, $font, $wenzi); // 创建文字 ,文字的位置控制也在这
  7. header("Content-Type:image/png");  //告诉游览器输出图片
  8. imagepng($image);   //输出图片

  9. //销毁图片
  10. header('Content-Type:image/png');
  11. imagepng($image);
  12. imagedestroy($image);if (is_file('./temp/'.$img)) unlink('./temp/'.$img);


  13. ?>
复制代码


字体文件: (, 下载次数: 4)









欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4