Home  >  Article  >  Backend Development  >  Laravel uses PHPQRCODE to generate QR code images with LOGO

Laravel uses PHPQRCODE to generate QR code images with LOGO

小云云
小云云Original
2018-02-08 13:56:123014browse

This article mainly introduces Laravel to use PHPQRCODE to realize the function of generating QR code images with LOGO. It involves the relevant calling and setting operation skills of introducing the PHPQRCODE class into php to generate QR code images. Friends who need it can refer to it. I hope it can Help everyone.


/**
* 利用phpqrcode来实现生成带有logo的二维码图片
*/
public function getQrCode(Request $request){
    $type  =  $request->input('type');//传递的类型 ios | android
    require_once(dirname(__FILE__) . '/phpqrcode/' . 'phpqrcode.php');
    $errorCorrectionLevel = 'H'; // 错误校正
    $matrixPointSize = 5; // 边界空白位置
    $QRcode =  new \QRcode;
    if($type){
      if($type == 'ios'){
        $value =  'http://www.ios.com'; // 二维码存放的内容
        $QRcode->png($value, 'ios.png', $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
        //echo "二维码已生成";
        $logo = 'logo.png';//logo的图片地址
        //echo " <img src=&#39;../../../public/logo.png&#39;>";
        $QR = &#39;ios.png&#39;; //二维码图片地址
        //echo " <img src=&#39;../../../ios.png&#39;>";
        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_height = imagesy($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,&#39;ios.png&#39;); //跟logo合并之后的地址
        $a   =  &#39;http://www.ios.com/ios.png&#39;;
        $status =  0;
        $msg  =  $a;
      }elseif($type == &#39;android&#39;){
          $value =  &#39;http://www.android.com&#39;; // 二维码存放的内容
          //var_dump($value);
          $QRcode->png($value, &#39;android.png&#39;, $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
          //echo "二维码已生成";
          $logo = &#39;logo.png&#39;;//logo的图片地址
          //echo " <img src=&#39;../../../public/logo.png&#39;>";
          $QR = &#39;android.png&#39;; //二维码图片地址
          //echo " <img src=&#39;../../../android.png&#39;>";
          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_height = imagesy($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,&#39;android.png&#39;); //跟logo合并之后的地址
          $a   =  &#39;http://www.android.com/android.png&#39;;
          $status =  0;
          $msg  =  $a;
      }else{
        $status =  1;
        $msg  =  &#39;没有该类型!&#39;;
      }
      //QRcode::png($value, &#39;sunny.png&#39;, $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
    }else{
      $status =  2;
      $msg  =  &#39;参数传递不完整!&#39;;
    }
    return response()->json([&#39;status&#39; => $status,&#39;msg&#39; => $msg])->header(&#39;Access-Control-Allow-Origin&#39;, &#39;*&#39;);
}

Related recommendations:

Example of WeChat QR code image generator implemented in JavaScript

Summary of methods for generating QR code images in php

Small example of generating and parsing QR code images with ZXing in java

The above is the detailed content of Laravel uses PHPQRCODE to generate QR code images with LOGO. 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