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">'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)