PHP生成带LOGO的二维码的实现方案

代码如下

生成二维码的接口是使用了google提供的,地址如下:http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$chl&chld=L|1&choe=UTF-8

<?php

    $data=isset($_GET['data'])?$_GET['data']:'www.meitu.com';

    $size=isset($_GET['size'])?$_GET['size']:'130x130';

    $logo=isset($_GET['logo'])?$_GET['logo']:'./test.jpg';

    $chl=urlencode($logo);

    $png="http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$chl&chld=L|1&choe=UTF-8";

    $QR=imagecreatefrompng($png);

    if($logo!=false){

        $logo=imagecreatefromstring(file_get_contents($logo));

        $QR_width=imagesx($QR);

        $QR_height=imagesy($QR);

        $logo_width=imagesx($logo);

        $logo_height=imagesy($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);

    }

    header('Content-type:image/png');

    imagepng($QR);

    imagedestroy($QR);

?>

生成的二维码效果如下:

你可能感兴趣的:(logo)