PHP二维码添加logo的方法

PHP二维码添加logo的方法

<pre>

public function createqcode($text,$id){

include '/phpqrcode/phpqrcode.php';

$level = "L";

//二维码图片每个黑点的像素,默认4

$size = '10';

//二维码边框的间距,默认2

$padding = 2;

$path=__DIR__.'/../../../Public/images/qcode/'.$id.'.jpg';

//生成二维码图片

\QRcode::png($text , $path , $level , $size , $padding , true);

$logo = __DIR__.'/../../../Public/images/logo.png';//准备好的logo图片

$QR = $path;//已经生成的原始二维码图

$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, $path);

$weburl='/baiqueyaoqing2/images/qcode/'.$id.'.jpg';

return $weburl;

}

</pre>

简单的说就是利用php GD函数合并