php背景图片上生成二维码,二维码上带图片示例代码

Posted 戈丫汝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php背景图片上生成二维码,二维码上带图片示例代码相关的知识,希望对你有一定的参考价值。

依赖库文件 phpqrcode.php

(下载地址://www.jb51.net/codes/189897.html ;或者在官网下载:http://phpqrcode.sourceforge.net )

代码逻辑:
1.生成一张url相关的 二维码 QR
2.把log图片跟QR合并成一个带logo的二维码 last
3.把带logo的的二维码跟 活动图片合成为一张图 保存到本地 返回路径

 1 //参数 活动模板图片,二维码url,模板内二维码的位置 
 2 function getActivityImg($template,$url,$x,$y)
 3 { 
 4      require_once library_path("/phpqrcode.php");
 5 
 6       //二维码中间添加logo 
 7       $logo = public_path(‘/assets/img/logos/logo.png‘); 
 8       $QR = "base.png"; 
 9       $last = "last.png"; 
10       $errorCorrectionLevel = ‘Q‘; //防错等级 
11       $matrixPointSize = 8; //二维码大小 
12 
13       //生成二维码 
14       //参数内容:二维码储存内容,生成存储,防错等级,二维码大小,白边大小 
15       QRcode::png($url, $QR, $errorCorrectionLevel, $matrixPointSize, 1); 
16 
17       //合并logo跟二维码-----------------start 
18       $QR = imagecreatefromstring(file_get_contents($QR)); 
19       $logo = imagecreatefromstring(file_get_contents($logo)); 
20       $QR_width = imagesx($QR); $logo_width = imagesx($logo); 
21       $logo_height = imagesy($logo); 
22       $logo_qr_width = $QR_width / 5; 
23       $scale = $logo_width / $logo_qr_width; 
24       $logo_qr_height = $logo_height / $scale; 
25       $from_width = ($QR_width - $logo_qr_width) / 2; 
26       imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); 
27       imagepng($QR,$last); // 生成带log的二维码图片 存储到last
28       //合并logo跟二维码-----------------end 
29 
30       //合成带logo的二维码图片跟 模板图片--------------start 
31       $path_1 = $template; 
32       $path_2 = $last; 
33       $image_1 = imagecreatefromjpeg($path_1); 
34       $image_2 = imagecreatefrompng($path_2); 
35       $image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1)); 
36       $color = imagecolorallocate($image_3, 255, 255, 255); 
37       imagefill($image_3, 0, 0, $color); 
38       imageColorTransparent($image_3, $color); 
39       imagecopyresampled($image_3, $image_1, 0, 0, 0, 0, imagesx($image_1), imagesy($image_1), imagesx($image_1), imagesy($image_1)); 
40       imagecopymerge($image_3, $image_2, $x, $y,0, 0, imagesx($image_2), imagesy($image_2), 100); 
41       //合成带logo的二维码图片跟 模板图片--------------end 
42 
43       //输出到本地文件夹 
44       $fileName=md5(basename($template).$url); 
45       $EchoPath=‘/assets/img/‘.$fileName.‘.png‘; 
46       imagepng($image_3,public_path($EchoPath)); 
47       imagedestroy($image_3); 
48       
49       //返回生成的路径 
50       return $EchoPath; 
51 }

 




以上是关于php背景图片上生成二维码,二维码上带图片示例代码的主要内容,如果未能解决你的问题,请参考以下文章

编程开发|使用python和女朋友照片生成二维码图片

PHP微信扫描二维码登录网站代码示例

C# 代码生成二维码方法及代码示例(QRCoder)

php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载

PHP生成小程序二维码合成图片生成文字

vue将地址转成二维码,与图片合成海报