You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
define('IN_ASC', true);
require(dirname(__FILE__) . '/includes/init.php');
require(dirname(__FILE__) . '/includes/phpqrcode.php');
$id= isset($_GET['id']) ? intval($_GET['id']) : 0;
$data = $GLOBALS['ecs']->url().'mobile/goods.php?id='.$id;
$logo = str_replace("..", ".", $_CFG['erweima_logo']); // 中间那logo图
$errorCorrectionLevel = 'L';//容错级别
$matrixPointSize = 6;//生成图片大小
$qr_root_path=ROOT_PATH.'images/qrcode/goods/';
//生成二维码图片
if(!is_dir($qr_root_path)){
if(!mkdir($qr_root_path, 0777, true)){
echo '创建目录失败';
}
}
QRcode::png($data, $qr_root_path.$id.'.png', $errorCorrectionLevel, $matrixPointSize, 2);
$QR = ROOT_PATH.'images/qrcode/goods/'.$id.'.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, 'helloweba.png');
//echo '<img src="helloweba.png">';
header('Content-type: image/png');
imagepng($QR);
imagedestroy($QR);
exit;
// 通过google api生成未加logo前的QR图也可以自己使用RQcode类生成
$png = 'http://chart.googleapis.com/chart?chs=' . $size . '&cht=qr&chl=' . urlencode($data) . '&chld=L|1&choe=UTF-8';
$QR = imagecreatefrompng($png);
if($logo !== FALSE)
{
$logo = imagecreatefromstring(file_get_contents($logo));
$QR_width = imagesx($QR);
$QR_height = imagesy($QR);
$logo_width = imagesx($logo);
$logo_height = imagesy($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);
}
header('Content-type: image/png');
imagepng($QR);
imagedestroy($QR);
?>