1. 程式人生 > >開源二維碼庫libqrencode

開源二維碼庫libqrencode

http://www.myleftstudio.org/viewtopic.php?f=37&t=2558

編譯安裝

tar zxvf qrencode-3.4.2.tar.gz
cd qrencode-3.4.2
./configure
make
make install


sudo apt-get install libqrencode-dev
cd ../php-qrencode
phpize
./configure
make
sudo make install

QR碼的糾錯分為4個級別,分別是: 
QR_ECLEVEL_L: 最大 7% 的錯誤能夠被糾正; 
QR_ECLEVEL_M: 最大 15% 的錯誤能夠被糾正;

QR_ECLEVEL_Q: 最大 25% 的錯誤能夠被糾正; 
QR_ECLEVEL_H: 最大 30% 的錯誤能夠被糾正;
<?php
    header("Content-type: image/png");
    $data = qrencode( 'Hello world!', QR_ECLEVEL_L, 1, QR_MODE_8 );

// QR_ECLEVEL_L 容錯率
// 1 版本
// QR_MODE_8 內容型別 

    $size = count( $data );
    $im = imagecreate( $size, $size );

    $color_bg = imagecolorallocate( $im, 255, 255, 255 );
    $color_fg = imagecolorallocate( $im, 0, 0, 0 );

    imagefill( $im, 0, 0, $color_bg );

    for( $y = 0; $y < $size; $y++ ) {
        for( $x = 0; $x < $size; $x++ ) {
            if ( $data[$y][$x] ) {
                imagesetpixel( $im, $x, $y, $color_fg );
            }
        }
    }

    imagepng( $im );