phpqrcode怎么在二维码上放logo

phpqrcode怎么在二维码上放logo,第1张

下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。

phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成二位的的信息文本;参数$outfile表示是否输出二维码图片 文件,默认否;参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);

参数$size表示生成图片大小,默认是3;参数$margin表示二维码周围边框空白区域间距值;参数$saveandprint表示是否保存二维码并 显示。转载,仅供参考。

. 代码如下:

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)

}

Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能。

下载phpqrcode

下载地址:http://phpqrcode.sourceforge.net/

整合到Thinkphp框架

在“ThinkPHP\Library\Vendor\”下新建目录phpqrcode,将压缩包内容解压到该文件夹下。

调用phpqrcode生成二维码

在IndexController控制器下添加如下方法:

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

访问:http://127.0.0.1/Index/qrcode即可看到生成的二维码。

生成带logo的二维码

先调用phpqrcode生成一张二维码,再使用php的image相关函数将logo图片添加到生成的二维码图片上。

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">'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11522977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存