PHP QR 코드 로 QR 코드 생 성

11397 단어
HP QR 코드 는 PHP QR 코드 생 성 라 이브 러 리 입 니 다. 이 를 이용 하여 QR 코드 를 쉽게 생 성 할 수 있 습 니 다. 홈 페이지 는 다운로드 와 여러 개의 프 리 젠 테 이 션 데모 를 제공 하여 주 소 를 볼 수 있 습 니 다.http://phpqrcode.sourceforge.net/。홈 페이지 에서 제공 하 는 라 이브 러 리 를 다운로드 한 후 phpqrcode. php 만 사용 하면 QR 코드 를 생 성 할 수 있 습 니 다. 물론 PHP 환경 은 지원 GD2 를 켜 야 합 니 다.phpqrcode. php 는 관건 적 인 png () 방법 을 제공 합 니 다. 그 중에서 매개 변수 $text 는 두 자리 의 정보 텍스트 를 생 성 하 는 것 을 표시 합 니 다.인자 $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.cnblogs.com/txw1958/"의 QR 코드.
include 'phpqrcode.php'; 
QRcode::png('http://www.cnblogs.com/txw1958/');

 
그러면 실제 응용 프로그램 에서 저 희 는 QR 코드 의 중간 에 자신의 로고 를 추가 하여 홍보 효 과 를 강화 할 것 입 니 다.그럼 로고 가 들 어 있 는 QR 코드 는 어떻게 만 듭 니까?사실 원 리 는 매우 간단 하 다. 먼저 PHP QR 코드 를 사용 하여 QR 코드 그림 을 생 성 한 다음 에 phop 의 image 관련 함 수 를 이용 하여 미리 준비 한 로고 그림 을 방금 생 성 된 원시 QR 코드 그림 중간 에 넣 은 다음 에 새로운 QR 코드 그림 을 다시 생 성 한다.코드 는 다음 과 같 습 니 다:
include 'phpqrcode.php';    
$value = 'http://www.cnblogs.com/txw1958/'; //        
$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, 'helloweixin.png');   
echo '<img src="helloweixin.png">';   
include 'phpqrcode.php';    
$value = 'http://www.cnblogs.com/txw1958/'; //        
$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, 'helloweixin.png');   
echo '<img src="helloweixin.png">';   

QR 코드 는 일정한 용 착 성 을 허용 하기 때문에 일반적인 QR 코드 는 부분 을 가리 더 라 도 디 코딩 할 수 있 습 니 다. 흔히 저희 가 QR 코드 를 스 캔 할 때 절반 도 안 될 때 스 캔 결 과 를 디 코딩 할 수 있 습 니 다. 이것 은 생 성기 가 일부 정 보 를 중복 표시 하여 용 착 도 를 높 일 수 있 기 때 문 입 니 다.이것 이 바로 우리 가 QR 코드 중간 에 로고 사진 을 추가 하 는 것 이 디 코딩 결과 에 영향 을 주지 않 는 이유 이다.

좋은 웹페이지 즐겨찾기