기술이 발전함에 따라 QR 코드의 응용 분야가 점점 더 광범위해지고 있습니다. 오늘은 jQuery 플러그인을 사용하여 QR 코드를 생성하는 방법을 소개하는 이전 기사가 있습니다. PHP를 사용하여 QR 코드를 생성하는 방법과 중간에 로고 이미지가 있는 QR 코드를 생성하는 방법.
Google API를 사용하여 QR 코드 생성
Google은 비교적 완전한 QR 코드 생성 인터페이스를 제공합니다. API 인터페이스를 호출하는 것은 매우 간단합니다.
$urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 不能混合数据类型,数据必须经过UTF-8 URL-encoded * @param int $widhtHeight 生成二维码的尺寸设置 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 * L-默认:可以识别已损失的7%的数据 * M-可以识别已损失15%的数据 * Q-可以识别已损失25%的数据 * H-可以识别已损失30%的数据 * @param int $margin 生成的二维码离图片边框的距离 */ function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $chl = urlencode($chl); echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.' &cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.' " widhtHeight="'.$widhtHeight.'"/>'; }
PHP QR 코드 생성 라이브러리 PHP QR 코드를 사용하여 QR 코드 생성
PHP QR 코드는 PHP QR 코드 생성 라이브러리입니다. 공식 웹사이트에서는 다운로드 및 다양한 데모 데모를 제공합니다. http://phpqrcode.sourceforge.net / .
공식 웹사이트에서 제공하는 클래스 라이브러리를 다운로드한 후 phpqrcode.php만 사용하면 QR 코드를 생성할 수 있습니다. 물론 PHP 환경이 GD2 지원을 활성화해야 합니다. phpqrcode.php는 $text 매개변수가 두 자리 정보 텍스트의 생성을 나타내는 핵심 png() 메소드를 제공합니다. 매개변수 $outfile은 QR 코드 이미지 파일을 출력할지 여부를 나타내며, 기본값은 $level입니다. 내결함성 비율을 나타냅니다. 즉, L(QR_ECLEVEL_L, 7%), M(QR_ECLEVEL_M, 15%), Q(QR_ECLEVEL_Q, 25%), H(QR_ECLEVEL_H, 30%)인 해당 영역을 여전히 식별할 수 있습니다. $size 매개변수는 생성된 이미지의 크기를 나타내며, 기본값은 3입니다. $margin 매개변수는 QR 코드 주변의 공백 영역의 간격 값을 나타냅니다. $saveandprint 매개변수는 QR 코드를 저장할지 여부를 나타냅니다. 그리고 그것을 표시합니다.
public static function 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); }
PHP QR 코드 호출은 매우 간단합니다. 다음 코드는 "http://www.jb51.net"이라는 내용으로 QR 코드를 생성할 수 있습니다.
include 'phpqrcode.php'; QRcode::png('http://www.jb51.net');
실제 적용시에는 QR코드 중간에 자체 로고를 추가하여 홍보효과를 높일 예정입니다. 그렇다면 로고가 포함된 QR 코드를 생성하는 방법은 무엇입니까? 사실 원리는 매우 간단합니다. 먼저 PHP QR Code를 이용하여 QR코드 이미지를 생성한 후, PHP의 이미지 관련 기능을 이용하여 새로 생성된 원본 QR코드 이미지 중간에 미리 준비된 로고 이미지를 추가한 후, 새로운 QR 코드 사진을 재생성하세요.
include 'phpqrcode.php'; $value = 'http://www.jb51.net'; //二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';//准备好的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, 'jb51.png'); echo '<img src="jb51.png">';
QR코드는 어느 정도 내결함성을 허용하기 때문에 일반 QR코드는 부분적으로 가려져도 디코딩이 가능한 경우가 많습니다. 생성기는 내결함성을 개선하기 위해 정보의 일부를 반복적으로 표시하기 때문에 QR 코드 중간에 로고 이미지를 추가해도 디코딩 결과에 영향을 미치지 않습니다.
위 내용은 이 글의 전체 내용입니다. PHP로 QR코드 제작을 마스터하시는 모든 분들에게 도움이 되었으면 좋겠습니다.