PHP教程

PHP生成二维码

本文主要是介绍PHP生成二维码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

qrcocde下载
二维码是一个近几年来移动设备上超流行的一种编码方式,最早出现在20世纪20年代,到1988年才引入中国。现在,日常生活中更是随处可见。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。下面通过一些小案例,不靠第三方平台,轻松制作自己的二维码图片

QRCode
QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。
超高速
从QR Code码的英文名称Quick Response Code可以看出,超高速识读特点是QR Code码区别于四一七条码、Data Matrix等二维码的主要特性。由于在用CCD识读QR Code码时,整个QR Code码符号中信息的读取是通过QR Code码符号的位置探测图形,用硬件来实现,因此,信息识读过程所需时间很短,它具有超高速识读特点。用CCD二维条码识读设备,每秒可识读30个含有100个字符的QR Code码符号;对于含有相同数据信息的四一七条码符号,每秒仅能识读3个符号;对于Data Matrix矩阵码,每秒仅能识读2~3个符号。QR Code码的超高速识读特性使它能够广泛应用于工业自动化生产线管理等领域。
全方位
QR Code码具有全方位(360°)识读特点,这是QR Code码优于行排式二维条码如四一七条码的另一主要特点,由于四一七条码是将一维条码符号在行排高度上的截短来实现的,因此,,它很难实现全方位识读,其识读方位角仅为±10°。
能够有效地表示汉字
由于QR Code码用特定的数据压缩模式表示汉字,它仅用13bit可表示一个汉字,而四一七条码、Data Matrix等二维码没有特定的汉字表示模式,因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用16bit(二个字节)表示一个汉字,因此QR Code码比其它的二维条码表示汉字的效率提高了20%。
参数$level表示容错率,也就是有被覆盖的区域还能识别。它有四个级别,分别是 L, H, M, Q
QR_ECLEVEL_L,    最大 7% 的错误能够被纠正;
QR_ECLEVEL_M,  最大 15% 的错误能够被纠正;
QR_ECLEVEL_Q,   最大 25% 的错误能够被纠正;
QR_ECLEVEL_H,   最大 30% 的错误能够被纠正;

点击查看代码
include 'phpqrcode.php';
$value = 'http://www.cnblogs.com/itzhangxuhui'; //二维码内容
$errorCorrectionLevel = 'L';//容错级别
$matrixPointSize = 6;//生成图片大小
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
//生成二维码图片
$logo = 'logo.jpg';//准备好的logo图片
$QR = 'qrcode.png';//已经生成的原始二维码图

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);
}
//输出图片
imagepng($QR,'phpmaster.png');
这篇关于PHP生成二维码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!