生成二维码图片总结

网上生成二维码图片的方法不少,可是通常都是生成一个页面,页面内有一个二维码。可是实际需求每每不是这样的,须要将二维码放在页面某个位置。这就须要有一个方法获取图片。php

方法一:缓冲区函数的使用。缓存

ob_start();
ob_get_contents()
ob_end_clean();

二维码生成的公共方法以下:函数

使用了qrcode类库。还进行了编码转换。编码

function makeQRcode($txt=""){
    Vendor('phpqrcode.phpqrcode');
    ob_start();
    //生成二维码图片
    $object = new \QRcode();
    $level=3;
    $size=2;
    $errorCorrectionLevel =intval($level) ;//容错级别
    $matrixPointSize = intval($size);//生成图片大小
    $object->png($txt,false , $errorCorrectionLevel, $matrixPointSize, 2);
    $imageString = base64_encode(ob_get_contents());
    ob_end_clean();
    return $imageString;
}

页面图片调用:.net

<img src="data:image/png;base64,{$vo['qrcode_sn']}" alt=""/>

方法二:code

查了官方的手册:http://phpqrcode.sourceforge.net/图片

方法中没有再用缓存区:get

public function qrcode(){
    $content=I('get.content');
    Vendor('phpqrcode.phpqrcode');
    //生成二维码图片
    $object = new \QRcode();
    $level=3;
    $size=2;
    $errorCorrectionLevel =intval($level) ;//容错级别
    $matrixPointSize = intval($size);//生成图片大小
    $object->png($content,false,$errorCorrectionLevel,$matrixPointSize,2,true);
}

图片调用:io

<img src="{:U('Common/qrcode',array('content'=>$vo['qrcode_sn']))}" alt=""/>

就这么多了。base64

相关文章
相关标签/搜索