您现在的位置是:首页 > 学无止境> 网站建设网站首页学无止境网站建设

二维码生成及图片合成代码

简介二维码生成及图片合成代码

<?php
header('Access-Control-Allow-Origin:*');
// 响应类型  
header('Access-Control-Allow-Methods:POST');
// 响应头设置  
header('Access-Control-Allow-Headers:x-requested-with,content-type');
header('Content-Type:application/json; charset=utf-8');

include 'phpqrcode.php';
include 'session.php';
include '../conn/conn.php';
@$id = $_GET['id']; //链接获取参数
@$dqid = $_GET['dqid']; //获取地区
$errorCorrentionLevel = 'H'; //容错级别L 7%  M 15% Q 25% H 30%
$matrixPoinSize = 6; //生成图片大小
//获取地区信息
$dsql = "SELECT * FROM `表` where `id` = ".$dqid;
$dresult = mysql_query($dsql,$con);
$dv = mysql_fetch_array($dresult);
$dqlogo = $dv['icon'];
$mbtemp = $dv['template'];
#拼接URL
$value = 'http://www.studyfx.cn/content/'.$mbtemp.'.php?id='.$id;      //跳转地址
//本地文档相对路径
$url = './upload/';
//定义纠错级别
$errorLevel = "L";
//定义生成图片的宽度和高度,默认为3
$size = 3;
//调用Qrcode类的静态png方法生成二维码团
$newimg = $url . $id.time() . '.png';
QRcode::png($value,$newimg, $errorCorrentionLevel, $matrixPoinSize, 2);
//新图片
//$img = $newimg;
$ewmurl = "upload/". $id. '.png';
/*
* $file_path  二维码图片路径
*
*/
$path ='upload/ewm/'; //存放海报 / icon图片文件夹

$logo = $dqlogo;  //准备好的logo图片
$QR = $newimg;   //已经生成的原始二维码图
function scewm($QR,$logo,$id,$h){
    $paths ='upload/';
    if (file_exists($logo)) {
      $QR = imagecreatefromstring(file_get_contents($QR));//目标图象连接资源。
                
      $logo = imagecreatefromstring(file_get_contents($logo));//源图象连接资源。
                
      //创建一个和二维码图片一样大小的真彩色画布
      //(ps:只有这样才能保证后面copy装备图片的时候不会失真)
      $canvas = imageCreatetruecolor(imagesx($QR),imagesy($QR));
                
      //为真彩色画布创建白色背景,再设置为透明
      $color = imagecolorallocate($canvas, 255, 255, 255);
      imagefill($canvas, 0, 0, $color);
      //imageColorTransparent($canvas, $color); //可以设为透明背景

      //首先将二维码画布采样copy到真彩色画布中,不会失真
      imagecopyresampled($canvas,$QR,0,0,0,0,imagesx($QR),imagesy($QR),imagesx($QR),imagesy($QR));
                
      //再将装备图片copy到已经具有人物图像的真彩色画布中,同样也不会失真
      //imagecopymerge($canvas,$logo,(imagesx($QR)-imagesx($logo))/2,(imagesy($QR)-imagesy($logo))/2,0,0,imagesx($logo),imagesy($logo), 100);
      if($h==0){
        imagecopymerge($canvas,$logo,(imagesx($QR)-imagesx($logo))/2,18,0,0,imagesx($logo),imagesy($logo), 100);  
      }else{
        imagecopymerge($canvas,$logo,(imagesx($QR)-imagesx($logo))/2,(imagesy($QR)-imagesy($logo))/2,0,0,imagesx($logo),imagesy($logo), 100);
      }
                
      //将画布保存到指定的png文件
      $QIMG = $id ==0?$paths . rand(1000,9999) .time(). ".png":$paths.$id.'.png';  
             
      imagepng($canvas,$QIMG);
      imagedestroy($QR);
      imagedestroy($logo);
                
      return $QIMG;
    }else{
        return $QR;
    }
}

$ewmlogo = scewm($QR,$logo,0,1);
$bj = $path.'bj.jpg';//背景图片路径
scewm($bj,$ewmlogo,$id,0);
@unlink($newimg);
@unlink($ewmlogo);
$ewmurl="/data/".$ewmurl;

echo "<img src='".$ewmurl."'>";

Top