Home  >  Article  >  Backend Development  >  How to implement phpqrcode to generate QR code with logo in Thinkphp3.2.3

How to implement phpqrcode to generate QR code with logo in Thinkphp3.2.3

不言
不言Original
2018-06-07 14:07:531840browse

This article mainly introduces in detail the implementation method of Thinkphp3.2.3 integrating phpqrcode to generate QR code with logo. Interested friends can refer to it.

This article mainly introduces in detail the implementation method for everyone. Introduced the implementation method of Thinkphp3.2.3 integrating phpqrcode to generate QR code with logo. Interested friends can refer to

There is no QR code related library in Thinkphp, so we can integrate phpqrcode. Complete the function of generating QR code.

Download phpqrcode

Integrate into Thinkphp framework

Create a new directory phpqrcode under "ThinkPHP\Library\Vendor\", Extract the contents of the compressed package to this folder.

Call phpqrcode to generate QR code

Add the following method under the IndexController controller:

public function qrcode($url="www.baidu.com",$level=3,$size=4)
  {
       Vendor('phpqrcode.phpqrcode');
       $errorCorrectionLevel =intval($level) ;//容错级别 
       $matrixPointSize = intval($size);//生成图片大小 
       //生成二维码图片 
       $object = new \QRcode();
       $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);  
  }

Visit: http://127.0.0.1/Index/qrcode to see the generated QR code.

Generate a QR code with logo

First call phpqrcode to generate a QR code, and then use php's image related function to add the logo image to the generated QR code on the picture.

include 'phpqrcode.php';  
$value = 'http://www.cnblogs.com/txw1958/'; //二维码内容  
$errorCorrectionLevel = 'L';//容错级别  
$matrixPointSize = 6;//生成图片大小  
//生成二维码图片  
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);  
$logo = 'logo.png';//准备好的logo图片  
$QR = 'qrcode.png';//已经生成的原始二维码图  

if ($logo !== FALSE) {  
  $QR = imagecreatefromstring(file_get_contents($QR));  
  $logo = imagecreatefromstring(file_get_contents($logo));  
  $QR_width = imagesx($QR);//二维码图片宽度  
  $QR_height = imagesy($QR);//二维码图片高度  
  $logo_width = imagesx($logo);//logo图片宽度  
  $logo_height = imagesy($logo);//logo图片高度  
  $logo_qr_width = $QR_width / 5;  
  $scale = $logo_width/$logo_qr_width;  
  $logo_qr_height = $logo_height/$scale;  
  $from_width = ($QR_width - $logo_qr_width) / 2;  
  //重新组合图片并调整大小  
  imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,  
  $logo_qr_height, $logo_width, $logo_height);  
}  
//输出图片  
imagepng($QR, 'helloweixin.png');  
echo '';

The above is the entire content of this article. I hope it will be helpful to everyone’s study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Implementing phpexcel export with generated pictures in thinkphp3.2

thinkphp3 .2.3 version database addition, deletion, modification and query implementation code

The above is the detailed content of How to implement phpqrcode to generate QR code with logo in Thinkphp3.2.3. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn