PHP生成二维码(使用PHP QHaval Code二维码生成类库)

$logo=false LOGO图像地址 //LOGO高大于宽自动裁剪 圆角透明没写好
$bg=false //背景图像数组

下载官方网址提供的类库后,只须求运用phpqrcode.php就能够生成二维码了,当然你的PHP情形必须开启协理GD2。
‘’

复制代码 代码如下:

在线生成二维码工具(压实版)

正文实例叙述了PHP
QRCODE生成彩色二维码的法子。分享给大家供大家参照他事他说加以考察,具体如下:

好了这么就生成了小编们要的二维码图片了,今天是因为时间少于就不介绍了,下次牵线一个应用它生成网站wap版的地址哦。

出于二维码允许有必然的容错性,一般的二维码即便在遮住部分但照样能够解码,常常大家扫描二维码的时候扫描到以致不到50%时就会解码扫描结果,那是因为生成器会将一部分音信重新表示来加强其容错度,那正是为何大家在二维码中间加个LOGO图片并不影响解码结果的案由。

public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
{
  $enc = QRencode::factory($level, $size, $margin);
  return $enc->encodePNG($text, $outfile, $saveandprint=false);
}

$level = L  容错 L 7%  M 15%  Q 25%  H
30%
$size = 3  每一种像素点大小
$col=array(array(255,255,255),array(0,0,0))

官方网址地址:

谷歌提供了较为完善的二维码生成接口,调用API接口非常的粗略,以下是调用代码:

你恐怕感兴趣的稿子:

  • 采用PHP生成二维码的二种格局(带logo图像)
  • PHP下通过QRCode类库成立中间带网址LOGO的二维码
  • Thinkphp3.2.3整合phpqrcode生成带logo的二维码
  • PHP基于phpqrcode生成带LOGO图像的二维码实例
  • Laravel使用PHPQRCODE完成转换带有LOGO的二维码图片效率示例
  • php生成带logo二维码方法小结
  • PHP微信开垦之二维码生成类
  • php完成扫描二维码依据浏览器类型访谈不一样下载地址
  • PHP完结的创办带logoLogo二维码生成类详解

复制代码 代码如下:

QRcode::png(‘code data text’, ‘filename.png’); // creates file

复制代码 代码如下:

//2. 在生成的二维码中加上logo(生成图片文件)
function scerweima1($url=''){
  require_once 'phpqrcode.php';
  $value = $url;         //二维码内容
  $errorCorrectionLevel = 'H';  //容错级别
  $matrixPointSize = 6;      //生成图片大小
  //生成二维码图片
  $filename = 'qrcode/'.microtime().'.png';
  QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
  $logo = 'qrcode/logo.jpg'; //准备好的logo图片
  $QR = $filename;      //已经生成的原始二维码图
  if (file_exists($logo)) {
    $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 / 4;   //组合之后logo的宽度(占二维码的1/5)
    $scale = $logo_width/$logo_qr_width;  //logo的宽度缩放比(本身宽度/组合后的宽度)
    $logo_qr_height = $logo_height/$scale; //组合之后logo的高度
    $from_width = ($QR_width - $logo_qr_width) / 2;  //组合之后logo左上角所在坐标点
    //重新组合图片并调整大小
    /*
     * imagecopyresampled() 将一幅图像(源图象)中的一块正方形区域拷贝到另一个图像中
     */
    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
  }
  //输出图片
  imagepng($QR, 'qrcode.png');
  imagedestroy($QR);
  imagedestroy($logo);
  return '<img src="qrcode.png" alt="使用微信扫描支付">';
}
//调用查看结果
echo scerweima1('https://www.baidu.com');

调用格局:

public static function png($text, $outfile=false, $level=QR_ECLEVEL_L,
$size=3, $margin=4, 
$saveandprint=false) 
{
    $enc = QRencode::factory($level, $size, $margin);
    return $enc->encodePNG($text, $outfile, $saveandprint=false);
}
参数$text表示生成二人的的音信文本;参数$outfile代表是或不是输出二维码图片文件,暗许否;参数$level表示容错率,也正是有被遮掩的区域还是能辨别,分别是
L(QRubicon_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,百分之二十);
参数$size代表生成图片大小,暗中认可是3;参数$margin表示二维码左近边框空白区域间距值,私下认可是4;参数$saveandprint代表是不是保存二维码并呈现,暗中认可是不保留突显。

include ‘phpqrcode.php’; 
$value = ‘//www.jb51.net’; //二维码内容
$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($Q奥迪Q3);//二维码图片宽度
    $QR_height = imagesy($Q翼虎);//二维码图片中度
    $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, ‘helloweba.png’);
echo ‘<img src=”helloweba.png”>’;

下载下来的类公事是三个压缩包,里边包罗众多文件和演示程序,大家只必要中间的phpqrcode.php那三个文本就能够生成二维码了。它是叁个三个类的集合文件,大家要求运用里边的Q奥德赛code类(第2963行)的png()方法(第3090行):

那边重写了下PHPQRCODE,精简了有的代码,合併PNG GIF JPEG的输出.

 代码如下

复制代码 代码如下:

更加的多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《PHP图形与图片操作手艺汇总》、《PHP数组(Array)操作才能大全》、《PHP数据结构与算法教程》、《php程序设总结法总括》、《PHP数学生运动算手艺计算》、《php字符串(string)用法总括》及《php常见数据库操作手艺汇总》

发表评论

电子邮件地址不会被公开。 必填项已用*标注