php 抓取网页生成图片( 如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码)

优采云 发布时间: 2022-01-06 20:09

  php 抓取网页生成图片(

如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码)

  使用PHP生成二维码的两种方法(附logo图片)

  更新时间:2021年11月16日09:51:59 投稿:俊杰

  随着科学技术的进步,二维码的应用领域越来越广泛。今天给大家分享一下如何使用PHP生成二维码,以及如何生成中间有LOGO图片的二维码。

  一、使用Google API生成二维码

  谷歌提供了比较完善的二维码生成接口,调用API接口很简单,下面是调用代码:

  

$urlToEncode="//www.jb51.net";

generateQRfromGoogle($urlToEncode);

/**

* google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】

* @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。

不能混合数据类型,数据必须经过UTF-8 URL-encoded

* @param int $widhtHeight 生成二维码的尺寸设置

* @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。

* L-默认:可以识别已损失的7%的数据

* M-可以识别已损失15%的数据

* Q-可以识别已损失25%的数据

* H-可以识别已损失30%的数据

* @param int $margin 生成的二维码离图片边框的距离

*/

function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')

{

$chl = urlencode($chl);

echo '

&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" />';

}

  二、使用PHP二维码生成类库PHP二维码生成二维码

  PHP QR Code 是一个 PHP 二维码生成库,可用于轻松生成二维码。官网提供下载和多个demo demo。检查地址:。

  下载官网提供的类库后,只需要使用phpqrcode.php生成二维码即可。当然,你的PHP环境必须开启支持GD2。phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成两位数的信息文本;参数$outfile表示是否输出二维码图片文件,默认为no;参数$level代表容错率,即Covered area仍可识别,分别是L(QR_ECLEVEL_L, 7%), M (QR_ECLEVEL_M, 15%), Q (QR_ECLEVEL_Q, 25%), H (QR_ECLEVEL_H, 30 %); 参数$size表示生成图像的大小,默认为3;参数$margin表示二维码周围空白区域的边距值;

  

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);

}

  调用PHP二维码非常简单,下面的代码可以生成一个内容为“//”的二维码。

  php代码

  包括'phpqrcode.php';

  二维码::png('//');

  在实际应用中,我们会在二维码中间添加自己的LOGO,以增强宣传效果。如何生成带有徽标的二维码?其实原理很简单。首先使用PHP QR Code生成二维码图片,然后使用PHP的图片相关函数将准备好的logo图片添加到新生成的原创二维码图片中,再重新生成一张新的。二维码的图像。

  

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($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, 'helloweba.png');

echo 'helloweba.png';

  以下是对上面代码的引用,不产生图片文件,方便调用,将以下代码保存为img.php

<p>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线