生成二維碼圖片總結

網上生成二維碼圖片的方法不少,可是通常都是生成一個頁面,頁面內有一個二維碼。可是實際需求每每不是這樣的,須要將二維碼放在頁面某個位置。這就須要有一個方法獲取圖片。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

相關文章
相關標籤/搜索