码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-11-07 17:11:28      阅读:515      评论:0      收藏:0      [点我收藏+]

标签:sam   背景图   www.   require   images   return   二维   for   scale   

依赖库文件 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背景图片上生成二维码,二维码上带图片示例代码

标签:sam   背景图   www.   require   images   return   二维   for   scale   

原文地址:https://www.cnblogs.com/gyrgyr/p/9923564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!