qrcode 生成二维码不显示图片解决办法

生成图片的时候页面显示一堆乱码,其实就是图片的传输格式.

只要定义好图片头就可以正常显示了

// Create a basic QR code
        $qrCode = new QrCode('http://www.baidu.com');
        $qrCode->setSize(300);

// Set advanced options
        $qrCode
            ->setWriterByName('png')
            ->setMargin(10)
            ->setEncoding('UTF-8')
            ->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
            ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
            ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
            //->setLabel('Scan the code', 16, __DIR__.'/../assets/noto_sans.otf', LabelAlignment::CENTER)
            //->setLogoPath(__DIR__.'/../assets/symfony.png')
            ->setLogoWidth(150)
            ->setValidateResult(false)
        ;

// 这里开始就是显示图片了
        ob_start();//开启缓冲区
//定义图片格式头
        header('Content-Type: '.$qrCode->getContentType());

        echo $qrCode->writeString();
//将图片存储
        $img =ob_get_contents();

        ob_end_clean();
        $imginfo =  chunk_split(base64_encode($img));
        ob_flush();
        return "<img src='data:image/png;base64,{$imginfo}'  />";

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值