Home  >  Article  >  Backend Development  >  Thinkphp323 integrates phpqrcode to generate QR code with logo

Thinkphp323 integrates phpqrcode to generate QR code with logo

WBOY
WBOYOriginal
2016-07-27 16:56:22996browse

There is no QR code related library in Thinkphp, so we can complete the function of generating QR codes by integrating phpqrcode.

Download phpqrcode

Download address: http://phpqrcode.sourceforge.net/

Integrated into Thinkphp framework

Create a new directory phpqrcode under "ThinkPHPLibraryVendor" and 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/qrcodeYou can 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 image.

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 '<img src="helloweixin.png">';

The above is the entire content of this article. I hope it will be helpful to everyone’s study, and I also hope everyone will support this site.

The above introduces how Thinkphp323 integrates phpqrcode to generate a QR code with a logo, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

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