生成二维码

来源:互联网 发布:苹果系统微信多开软件 编辑:程序博客网 时间:2024/05/16 13:47


/**
 * @author  生成二维码
 * @param $url   string 二维码地址
 * @param $uid   int    用户ID
 * @param $type  int    生成类型( 1:正常二维码 2:不是二维码 )
 * @return $res  string 最终生成的地址
 */
function share_ercode($url,$uid,$type){
    include_once VENDOR_PATH.'phpqrcode/phpqrcode.php';
    $value = $url; //二维码内容 
    $errorCorrectionLevel = 'L';//容错级别 
    $matrixPointSize = 8;//生成图片大小 
    //生成二维码图片 
    QRcode::png($value, './Uploads/Picture/share_qrcode/qrcode'.$uid.'.png', $errorCorrectionLevel, $matrixPointSize, 2); 
    $logo = './Uploads/Picture/share_qrcode/ercode_logo.png';//准备好的logo图片
    if($type==1){
        $QR = './Uploads/Picture/share_qrcode/qrcode'.$uid.'.png';//已经生成的原始二维码图 
    }else{
        $QR = './Uploads/Picture/share_qrcode/un_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, './Uploads/Picture/share_qrcode/ercode'.$uid.'.png');
    $res = file_get_contents('./Uploads/Picture/share_qrcode/ercode'.$uid.'.png');
    unlink('./Uploads/Picture/share_qrcode/ercode'.$uid.'.png');
    unlink('./Uploads/Picture/share_qrcode/qrcode'.$uid.'.png');
    return $res;
}
原创粉丝点击