php 판 로고 가 있 는 QR 코드 소스 코드 생 성
/**
* ( logo )
*
* @param string $data
* :http://www.baidu.cn weixin://wxpay/bizpayurl?pr=0tELnh9
* @param string $saveDir ( :Qrcode)
* @param string $logo logo
* :./Public/Default/logo.jpg
* :1、 (.);2、 Logo , jpg ;3、 xx*xx
*
* : logo
*
* @return
*/
public function createQrcode($data,$saveDir="Qrcode",$logo = "")
{
$rootPath = C("IMAGE_ROOT_PATH");
$path = $saveDir.'/'.date("Y-m-d").'/';
$fileName = uniqid();
if (!is_dir($rootPath.$path))
{
mkdir($rootPath.$path,0777,true);
}
$originalUrl = $path.$fileName.'.png';
Vendor('phpqrcode.phpqrcode');
$object = new \QRcode();
$errorCorrectionLevel = 'L'; //
$matrixPointSize = 20; // ( )
$object->png($data,$rootPath.$originalUrl,$errorCorrectionLevel, $matrixPointSize, 2);
// logo
if(file_exists($logo))
{
$QR = imagecreatefromstring(file_get_contents($rootPath.$originalUrl)); // 。
$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 / 4; // logo ( 1/5)
$scale = $logo_width/$logo_qr_width; //logo ( / )
$logo_qr_height = $logo_height/$scale; // logo
$from_width = ($QR_width - $logo_qr_width) / 2; // logo
//
//imagecopyresampled() ( )
imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
//
imagepng($QR, $rootPath.$originalUrl);
imagedestroy($QR);
imagedestroy($logo);
}
$result['errcode'] = 0;
$result['errmsg'] = 'ok';
$result['data'] = $originalUrl;
return $result;
}
/**
*
* base64
*
*
* @param string $data
* :http://www.tf4.cn weixin://wxpay/bizpayurl?pr=0tELnh9
*
* @return
*/
public function createTempQrcode($data)
{
Vendor('phpqrcode.phpqrcode');
$object = new \QRcode();
$errorCorrectionLevel = 'L'; //
$matrixPointSize = 5; //
//
ob_start();
//
$returnData = $object->png($data,false,$errorCorrectionLevel, $matrixPointSize, 2);
// , base64_encode , json 。
$imageString = base64_encode(ob_get_contents());
//
ob_end_clean();
$base64 = "data:image/png;base64,".$imageString;
$result['errcode'] = 0;
$result['errmsg'] = 'ok';
$result['data'] = $base64;
return $result;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 로그 가 있 는 QR 코드 생 성텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.