PHP生成中间带LOGO图像的二维码

这是一个二维码生成器,它可以帮助你以简单的方式生成二维码,并且可以设置二维码中间的小logo图标。使用非常简单,并且提供了一个Symfony包,可以快速整合到你的项目中。

查看演示 下载源码

查看原文:https://www.helloweba.com/view-blog-455.html,即可下载源码。

安装

使用 Composer 来安装这个库。

 
 
 
 
  1. composer require endroid/qrcode

基本用法

简单几行代码,就可以生成一个普通的二维码:

 
 
 
 
  1. require_once('vendor/autoload.php');
  2. use Endroid\QrCode\QrCode;
  3. $qrCode = new QrCode('Helloweba欢迎您!');
  4. header('Content-Type: '.$qrCode->getContentType());
  5. echo $qrCode->writeString();

高级用法

QrCode提供了许多方法参数设置,可以满足各种需求场景。比如需要生成中间带logo的二维码,需要保存二维码图片等。请看以下代码:

 
 
 
 
  1. require_once('vendor/autoload.php');
  2. use Endroid\QrCode\ErrorCorrectionLevel;
  3. use Endroid\QrCode\LabelAlignment;
  4. use Endroid\QrCode\QrCode;
  5. use Symfony\Component\HttpFoundation\Response;
  6. // Create a basic QR code
  7. $qrCode = new QrCode('Life is too short to be generating QR codes');
  8. $qrCode->setSize(300);
  9. // Set advanced options
  10. $qrCode
  11.     ->setWriterByName('png')
  12.     ->setMargin(10)
  13.     ->setSize(200)
  14.     ->setEncoding('UTF-8')
  15.     ->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
  16.     ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
  17.     ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
  18.     ->setLabel('手机扫一扫', 12)
  19.     ->setLogoPath('logo.png')
  20.     ->setLogoWidth(64)
  21.     ->setValidateResult(false)
  22. ;
  23. // Directly output the QR code
  24. header('Content-Type: '.$qrCode->getContentType());
  25. echo $qrCode->writeString();
  26. // Save it to a file
  27. //$qrCode->writeFile(__DIR__.'/qrcode.png');
  28. // Create a response object
  29. $response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);

运行以上代码,你会发现生成了一个中间,以上代码中:

setSize() :设置二维码图片的尺寸,数字整型,默认长宽是300px的图片。

setErrorCorrectionLevel() :设置纠错级别,可以是 LOW , MEDIUM , QUARTILE , HIGH

setForegroundColor() :设置前置色,rgb,默认黑色

setBackgroundColor() :设置背景色,rgb,默认白色

setLabel() :设置文字说明

setLogoPath() :设置中间logo路径地址

setLogoWidth() :设置logo宽度大小,数字

当前文章:PHP生成中间带LOGO图像的二维码
文章起源:http://www.shufengxianlan.com/qtweb/news7/368307.html

成都网站建设公司_创新互联,为您提供外贸网站建设自适应网站ChatGPT建站公司标签优化品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联