phpqrcode 分别生成普通带logo带背景带logo二维码

Posted myIvan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpqrcode 分别生成普通带logo带背景带logo二维码相关的知识,希望对你有一定的参考价值。

前提:下载好 phpqrcode 类库

1、生成普通二维码

//引入类库
include(‘phpqrcode/phpqrcode.php‘);
//二维码里面的链接地址
$url="http://www.baidu.com";
//二维码图片保存地址
$save_path = "./qrcode.png";
QRcode::png($url, $save_path, ‘L‘, 4, 2);
//后面两个参数控制二维码大小相关的,可自行调整

 

2、生成带有logo的二维码

//引入类库
include(‘phpqrcode/phpqrcode.php‘);
//二维码里面的链接地址
$url="http://www.baidu.com";
//二维码图片保存地址
$save_path = "./qrcode.png";
QRcode::png($url, $save_path, ‘L‘, 4, 2);
//后面两个参数控制二维码大小相关的,可自行调整

//logo图片
$logo = ‘logo.png‘;
if($logo){
        $QR = imagecreatefromstring(file_get_contents( $save_path ));
        $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, $save_path );
    }
//首先生成普通二维码,然后添加上logo

3、生成带logo带背景的二维码

//引入类库
include(‘phpqrcode/phpqrcode.php‘);
//二维码里面的链接地址
$url="http://www.baidu.com";
//二维码图片保存地址
$save_path = "./qrcode.png";
QRcode::png($url, $save_path, ‘L‘, 4, 2);
//后面两个参数控制二维码大小相关的,可自行调整

//添加logo
$logo = ‘logo.png‘;
if($logo){
        $QR = imagecreatefromstring(file_get_contents( $save_path ));
        $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, $save_path );
    }

//添加背景图
$bgImg = ‘xuanchuan.jpg‘;
$backgroupImg = imagecreatefromstring(file_get_contents($bgImg));
$newQR = imagecreatefromstring(file_get_contents($save_path));
//获取新的尺寸
list($width, $height) = getimagesize($save_path);
$new_width = 200;
$new_height = 200;
//重新组合图片并调整大小
imagecopyresampled($backgroupImg,$newQR,260, 700, 0, 0,$new_width, $new_height, $width, $height);//输出图片
imagepng($backgroupImg, $save_path);
//现在生成的图片就是有logo 有背景的

 

以上是关于phpqrcode 分别生成普通带logo带背景带logo二维码的主要内容,如果未能解决你的问题,请参考以下文章

php利用Qrcode生成带logo二维码

Thinkphp3.2版本结合phpqrcode生成带logo的二维码并提供下载

利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报

php背景图片上生成二维码,二维码上带图片示例代码

TP框架中生成带背景带文字的二维码

如何生成带中间LOGO的二维码?