Home > Backend Development > PHP Tutorial > PHP implements simple image synthesis method

PHP implements simple image synthesis method

小云云
Release: 2023-03-22 18:18:01
Original
4002 people have browsed it

This article mainly shares with you how to implement simple image synthesis in PHP. It is mainly shared with you in the form of code. I hope it can help you.

1. Encapsulation function

//生成二维码function qr_user_code($url_code,$uid){
    header("Access-Control-Allow-Origin:*");
    vendor('phpqrcode.phpqrcode');//引用phpqrcode类包
    $url = $url_code;    $errorCorrectionLevel = 'H';//容错级别
    $matrixPointSize = 5;//图片大小慢慢自己调整,只要是int就行
    $path = 'user_cache/';    if (!file_exists($path)) {
        mkdir($path);
    }    $QR =$QRB = $path.rand(10000,99999).time().".png";
    \QRcode::png($url, $QR, $errorCorrectionLevel, $matrixPointSize, 2);    $dst_path = '20180326171846.png';//web\lALPBbCc1VATaEvNA4DNAnw_636_896.png
    $src_path = $QR;//覆盖图
    //创建图片的实例
    $dst = imagecreatefromstring(file_get_contents($dst_path));    $src = imagecreatefromstring(file_get_contents($src_path));//获取覆盖图图片的宽高
    list($src_w, $src_h) = getimagesize($src_path);//将覆盖图复制到目标图片上,最后个参数100是设置透明度(100是不透明),这里实现不透明效果
    imagecopymerge($dst, $src, 184, 410, 0, 0, 286, 286, 100);//     @unlink($QIMG); //删除二维码与logo的合成图片
    @unlink($QRB);  //删除服务器上二维码图片
    header("Content-type: image/png");
    imagepng($dst,'uploads/user/'.$uid.'.png');//    imagejpeg($dst,'../uploads/user/'.$uid.'.jpg');
    imagedestroy($dst);
    imagedestroy($src);
}
Copy after login

2. Call the function in step one

 public function qr_code($uid){
        $url = 'http://ypyz.yxyzyl.com/template/mobile/xian/static/takehtml/personalhtml/bind.html?uid='.$uid;
        qr_user_code($url,$uid);//因为我封装在common里面的,所以这样调用
        $time = time();        $path = '/uploads/user/'.$uid.'.png';        $sha1 = sha1($uid.$time.'.png');        $res = (new Us())->where(['user_id'=>$uid])->update(['qr_code'=>$sha1]);        $re = db('picture')->insert([            'path'=>$path,            'sha1'=>$sha1,            'status'=>1,            'create_time'=>$time
        ]);        if ($res !== false&&$re!=false) {            $this->assign('path',$path);            return $this->fetch();
        } else {            $this->error('生成二维码失败', '');
        }

    }
Copy after login

Related recommendations:

php imagick extended synthesis Two methods for pictures_PHP tutorial

The above is the detailed content of PHP implements simple image synthesis method. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template