HP QR code is a php two-dimensional code generation class library, it can easily generate two-dimensional code, the official website provides a download and a number of demo demos, to see the address:
http://phpqrcode.sourceforge.net/
After downloading the class library provided by the official website, we only need to use phpqrcode.php to generate the QR code, of course, your PHP environment must turn on support GD2.
Phpqrcode.php provides a key PNG () method, where the parameter $text represents the generation of two-bit information text, the parameter $outfile indicates whether to output a QR code picture file, the default is no, the parameter $level indicates fault tolerance, that is, the covered area can be recognized, respectively L (qr_eclevel_l,7%), M (qr_eclevel_m,15%), Q (qr_eclevel_q,25%), H (qr_eclevel_h,30%), parameter $size indicates the image size is generated, default is 3; Margin indicates the spacing value of the border space around the QR code, and the parameter $saveandprint indicates whether to save the QR code and display it.
. The code is as follows:
PublicStaticfunction png ( $text, $outfile =false , $level =qr_eclevel_l, $size =3, $margin =4, $saveandprint =false $enc = Qrencode::factory ( $level, $size, $margin ); return $enc->encodepng ( $text, $outfile, $ Saveandprint=false
Calling PHP QR code is very simple, and the following code generates a QR code that reads "http://www.cnblogs.com/txw1958/".
Include ' phpqrcode.php '; QRCode::p ng (' http://www.cnblogs.com/txw1958/');
In the actual application, we will add their own logo in the middle of the two-dimensional code, has enhanced the publicity effect. How do you generate a QR code that contains a logo? In fact, the principle is very simple, first use PHP QR code to generate a two-dimensional code image, and then the use of PHP image correlation function, the pre-prepared logo image is added to the newly generated image of the original two-dimensional code, and then regenerate a new QR code image. The code is as follows:
Include ' phpqrcode.php ';$value = ' http://www.cnblogs.com/txw1958/';//Two-dimensional code content$errorCorrectionLevel = ' L ';//Fault tolerance level$matrixPointSize = 6;//Generate picture size//Generate two-dimensional code picture qrcode::p ng ($value, ' Qrcode.png ',$errorCorrectionLevel,$matrixPointSize, 2);$logo = ' logo.png ';//Ready logo image$QR = ' qrcode.png ';//Original two-dimensional code diagram that has been generatedif ($logo!==FALSE) {$QR = imagecreatefromstring (File_get_contents ($QR));$logo = imagecreatefromstring (File_get_contents ($logo));$QR _width = Imagesx ($QR);//Two-dimensional code image width$QR _height = Imagesy ($QR);//Two-dimensional code image height$logo _width = Imagesx ($logo);//Logo image width$logo _height = Imagesy ($logo);//Logo image Height$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 // regroup the picture and resize imagecopyresampled ( $QR, $logo, $from _width, $from _width, 0, 0, $logo _qr_width, $logo _qr_height, $logo _width, $logo _height); } // output picture Imagepng ( $QR, ' Helloweixin.png ' ); echo ' ";
Include ' phpqrcode.php ';$value = ' http://www.cnblogs.com/txw1958/';//Two-dimensional code content$errorCorrectionLevel = ' L ';//Fault tolerance level$matrixPointSize = 6;//Generate picture size//Generate two-dimensional code picture qrcode::p ng ($value, ' Qrcode.png ',$errorCorrectionLevel,$matrixPointSize, 2);$logo = ' logo.png ';//Ready logo image$QR = ' qrcode.png ';//Original two-dimensional code diagram that has been generatedif ($logo!==FALSE) {$QR = imagecreatefromstring (File_get_contents ($QR));$logo = imagecreatefromstring (File_get_contents ($logo));$QR _width = Imagesx ($QR);//Two-dimensional code image width$QR _height = Imagesy ($QR);//Two-dimensional code image height$logo _width = Imagesx ($logo);//Logo image width$logo _height = Imagesy ($logo);//Logo image Height$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 // regroup the picture and resize imagecopyresampled ( $QR, $logo, $from _width, $from _width, 0, 0, $logo _qr_width, $logo _qr_height, $logo _width, $logo _height); } // output picture Imagepng ( $QR, ' Helloweixin.png ' ); echo ' ";
Because the two-dimensional code allows a certain degree of fault tolerance, the general QR code even in the masked part but still able to decode, often we scan the QR code when scanned to even less than half of the scanning results can be decoded, because the generator will be part of the information repeated representation to improve its fault tolerance, This is why we add a logo image in the middle of the QR code does not affect the decoding result of the reason.
Generate QR code using PHP QR code