使用PHP生成二维码带logo图像(不生成临时图片文件)

这篇博客介绍如何在PHP中生成二维码图像,并结合logo,同时不生成临时图片文件。内容引用了外部资源并提供了容错级别的设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用http://www.jb51.net/article/48124.htm 主要区别已变色

    $errorCorrectionLevel = intval($level); //容错级别

        $matrixPointSize = intval($size); //生成图片大小
        $object = new \QRcode();
        //缓存区存放
        ob_start();
        $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
        $ob_contents = ob_get_contents(); //读取缓存区数据
        ob_end_clean(); 
        //logo 文件
        $logo = 'logo.png';  
        //logo图片存在  
        if ($logo !== FALSE) {  
            //$qrcode = imagecreatefromstring(file_get_contents($qrcode)); 
            $qrcode = imagecreatefromstring($ob_contents);

            $logo = imagecreatefromstring(file_get_contents($logo));
            $qrcode_width = imagesx($qrcode);   //二维码图片宽度  
            $qrcode_height = imagesy($qrcode);  //二维码图片高度  
            $logo_width = imagesx($logo);       //logo图片宽度  
            $logo_height = imagesy($logo);      //logo图片高度  
            $logo_qr_width = $qrcode_width / 5;  
            $scale = $logo_width / $logo_qr_width;  
            $logo_qr_height = $logo_height / $scale;  
            $from_width = ($qrcode_width - $logo_qr_width) / 2;  
            //重新组合图片并调整大小  
            imagecopyresampled($qrcode, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,  
                $logo_qr_height, $logo_width, $logo_height);  
        } 
        Header("Content-type: image/png");
        imagepng($qrcode);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值