
PHP 生成带有颜色二维码
之前在网上找了好几个都不能用,这是我自己改的类,亲测的,希望大喜欢:
下载地址: https://download.csdn.net/download/ybaog/10495087
<?php
require_once 'PhpQrcodes.php';
//hex转rgb
function hex2rgb( $colour ) {
if ( $colour[0] == '#' ) {
$colour = substr( $colour, 1 );
}
if ( strlen( $colour ) == 6 ) {
list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5] );
} elseif ( strlen( $colour ) == 3 ) {
list( $r, $g, $b ) = array( $colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2] );
} else {
return false;
}
$r = hexdec( $r );
$g = hexdec( $g );
$b = hexdec( $b );
// return array( 'red' => $r, 'green' => $g, 'blue' => $b );
return array($r, $g, $b );
}
function get_visit_url(){
$url = $_SERVER['HTTP_HOST'];
$url .= $_SERVER['REQUEST_URI'];
$url = str_replace("//", '/', $url);
$url = 'http://'.$url;
return $url;
}
$color=hex2rgb($_GET['color']); //根据实际情况是不是用 hex转rgb (#ef2727 转 255,255,255)
$url = get_visit_url(); //生成的链接
$value = $url;
//二维码内容
$errorCorrectionLevel = 'H'; //容错级别
$matrixPointSize = 3; //生成图片大小
//生成二维码图片
//第三个参数默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)。这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比。
//第四个参数,控制生成图片的大小,默认为4
//第五个参数,控制生成二维码的空白区域大小
//第七个参数,前景颜色
$filename ='./qrcode/'.time().'.png'; //二维码生成图片的位置
$QRcode=new QRcode;
$QRcode->png($value,$filename , $errorCorrectionLevel, $matrixPointSize,6,false,$color);
如果你觉得好用的话记得点赞哦!
文章来源: PHP PhpQrcodes 生成带有颜色二维码人吐槽 | 人点赞 |
发表评论