使用qrcode类制作二维码
生活随笔
收集整理的這篇文章主要介紹了
使用qrcode类制作二维码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?phprequire_once './phpqrcode/phpqrcode.php';/** 地址:http://phpqrcode.sourceforge.net/ 下載qrcode類* @param string $url 要生成的鏈接* @param bool $local 是否生成本地文件 * @param string $logo 中間圖片地址 */ echo qrcode('https://www.cnblogs.com/mengor/p/8192642.html',$local=true,$logo="./_img/20170713165304.png");function qrcode($url,$local,$logo){$value = $url; //二維碼內容 鏈接$errorCorrectionLevel = 'M';//容錯級別 $matrixPointSize = 8;//生成圖片大小 if(!$local){QRcode::png($value,false, $errorCorrectionLevel, $matrixPointSize, 2); }else{$abs_url = './_img/'; //保存的二維碼路徑$qr_dir= $abs_url.microtime().'.png'; //保存的二維碼名字 //生成二維碼圖片 QRcode::png($value, $qr_dir, $errorCorrectionLevel, $matrixPointSize, 2); $QR = $qr_dir;//已經生成的原始二維碼圖 if ($logo !== FALSE) {$QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二維碼圖片寬度 $QR_height = imagesy($QR);//二維碼圖片高度 $logo_width = imagesx($logo);//logo圖片寬度 $logo_height = imagesy($logo);//logo圖片高度 $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; //重新組合圖片并調整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);//輸出圖片 $he_dir= $abs_url.microtime().'.png';//重組圖片路徑imagepng($QR, $he_dir);return '<img src="'.$he_dir.'" alt="">'; }else{return '<img src="'.$qr_dir.'" alt="">'; }}}
由于二維碼允許有一定的容錯性,一般的二維碼即使在遮住部分但仍然能夠解碼,經常我們掃描二維碼的時候掃描到甚至不到一半時就能解碼掃描結果,這是因為生成器會將部分信息重復表示來提高其容錯度,這就是為什么我們在二維碼中間加個LOGO圖片并不影響解碼結果的原因。
由于二維碼允許有一定的容錯性,一般的二維碼即使在遮住部分但仍然能夠解碼,經常我們掃描二維碼的時候掃描到甚至不到一半時就能解碼掃描結果,這是因為生成器會將部分信息重復表示來提高其容錯度,這就是為什么我們在二維碼中間加個LOGO圖片并不影響解碼結果的原因。
?
轉載于:https://www.cnblogs.com/mengor/p/8192642.html
總結
以上是生活随笔為你收集整理的使用qrcode类制作二维码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【例题 8-13 UVA - 11093
- 下一篇: UA OPTI512R 傅立叶光学导论1