PHP生成二维码底部拼接文字和中间拼接logo

方位需要自己调整

public function erweima($device){
        require_once 'mobile/example/phpqrcode/phpqrcode.php';
        $device_sn = $device;
        $urls = $this->Configm->urls();
        $url = $urls."/Mobile/index.html?device_sn=".$device_sn;
        $url = urldecode($url);
        $qr_code_path = 'uploads/QRcodeDevice/'.date("Y-m-d").'/';
        if (!file_exists($qr_code_path)) {
            mkdir($qr_code_path);
        }
        /* 生成二维码 */
        $qr_code_file = $qr_code_path.$device_sn.'.png';
        QRcode::png($url, $qr_code_file, 'H', 6,6);//最后一个6是控制白边大小
        $background = "mobile/font/back.png";
        $logo = "mobile/font/logo.png";
        $this->mark_photo($qr_code_file,$device_sn,$logo,$qr_code_file);
        
        // $where = array('device_sn'=>$device);
        $urls = $this->Configm->urls();
        $arr['QRcode'] = $urls."/".$qr_code_file;
        return $arr;
        // $device_data = $this->Device_m->update($where,$arr);
    }



    //拼接图片,logo,文字
    private function mark_photo($background,$text,$logo,$filename){
        $back=imagecreatefrompng($background);
        $color=imagecolorallocate($back,0,0,0);
        $logo=imagecreatefrompng($logo);
        $logo_w=imagesx($logo);
        $logo_h=imagesy($logo);
        $font="mobile/font/STYH.otf"; // 字体文件
        //imagettftext只认utf8字体,所以用iconv转换
        imagettftext($back, 21, 0, 40, 337, $color, $font, $text);//调二维码中字体位置
        //执行合成调整位置
        imagecopyresampled($back, $logo, 139,140, 0, 0, 65, 65, $logo_w, $logo_h);//调中间logo位置
        imagejpeg($back,$filename);       
        imagedestroy($back);
        imagedestroy($logo);
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值