2维码生成类phpqrcode(可生成带logo)

<?php
 
/*
Data表示要记录的数据,如果是存储utf-8编码的中文,最多984个。
ECC表示纠错级别, 纠错级别越高,生成图片会越大。
 
L水平    7%的字码可被修正
M水平    15%的字码可被修正
Q水平    25%的字码可被修正
H水平    30%的字码可被修正
Size表示图片每个黑点的像素。
 
代码的调用范例:
 
include "qrlib.php";
QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, $margin);
 
    $data 数据
    $filename 保存的图片名称
    $errorCorrectionLevel 错误处理级别
    $matrixPointSize 每个黑点的像素
    $margin 图片外围的白色边框像素
*/
 
 
 
include "phpqrcode.php";
 
/*******生成2维码********/
 
    // $value                ="http://www.phpfensi.com";      // 二维码数据
    // $errorCorrectionLevel = "L";                          // 纠错级别:L、M、Q、H
    // $matrixPointSize      = "4";                          // 点的大小:1到10 
    // QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize); 
 
 
 
 
 
/********保存2维码图片***************/
 
    // $data = 'http://www.phpfensi.com';      // 二维码数据
    // $filename = '1111.jpg';                 // 生成的文件名
    // $errorCorrectionLevel = 'L';          // 纠错级别:L、M、Q、H 
    // $matrixPointSize = 4;                  // 点的大小:1到10 
    // QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
 
 
 
 
/***************生成中间带logo的2维码图片(先生成2维码图片,在给图片中间加水印)*************/
$logo                 = '12312.png';                  //水印logo
$QR                   = 'xiangyang.png';            //2维码图片名称
$sy                   = 'shuiying_code.png';        //2维码图片名称
$value                = 'http://www.phpfensi.com';  //2维码值
$errorCorrectionLevel = 'L';                          // 纠错级别:L、M、Q、H
$matrixPointSize      = 10;                          // 点的大小:1到10
QRcode::png($value, $QR, $errorCorrectionLevel, $matrixPointSize, 2);
 
 
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_height    = imagesy($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); 
} 
 
imagepng($QR,$sy);