前言
不知道大家发现没有,我的文章二维码已经加入了logo,这个二维码生成是我自己搭建的,因为我发现用公开的api生成二维码貌似不太稳定,所以自己搭建一个,来只服务自己。
php生成二维码带logo
这个功能不是原创,而且百度一搜一大把,不过搜到的都不是特别完整,说的比较完善的又不带logo,说带logo的二维码生成部分又说的很片面。
所以我结合两者,并且直接做成了压缩包,下载解压就能用了。
下载
使用
url: 二维码对应的网址
m : 二维码白色边框尺寸,缺省值: 0px
e : 容错级别(errorLevel),可选参数如下(缺省值 L):
L水平 7%的字码可被修正
M水平 15%的字码可被修正
Q水平 25%的字码可被修正
H水平 30%的字码可被修正
p : 二维码尺寸,可选范围1-10(具体大小和容错级别有关)(缺省值:3)https://zezeshe.com/er/qrcode.php?&url=二维码对应的网址&p=二维码尺寸&m=二维码白色边框尺寸&e=容错级别
如本文二维码图片地址https://zezeshe.com/er/qrcode.php?&url=https://blog.zezeshe.com/archives/erweimalogo/&p=4.8685
拓展
有些设置可以修改qrcode.php来实现,详细代码如下
<?php
include('phpqrcode/phpqrcode.php');
/取得GET参数
$url = isset($_GET["url"]) ? $_GET["url"] : 'help';
$errorLevel = isset($_GET["e"]) ? $_GET["e"] : 'L';
$PointSize = isset($_GET["p"]) ? $_GET["p"] : '3';
$margin = isset($_GET["m"]) ? $_GET["m"] : '0';
preg_match('/https:\/\/([\w\W]*?)\//si', $url, $matches);
//简单判断
//if ( $matches[1] != 'zezeshe.com'|| $url == 'help') { //取消此行注释并注释下面一行,就能加入自定义的url过滤功能
if ( $url == 'help'){
//简单的描述一下使用方法
header("Content-type: text/html; charset=utf-8");
echo '<title>在线二维码API接口| jrotty博客</title>';
echo '<h1>欢迎使用jrotty博客在线二维码API服务!</h1>
使用前请仔细查看参数说明:<br />
<br />
url: 二维码对应的网址<br /><br />
m  : 二维码白色边框尺寸,缺省值: 0px<br /><br />
e  : 容错级别(errorLevel),可选参数如下(缺省值 L):<br />
 L水平 7%的字码可被修正<br />
 M水平 15%的字码可被修正<br />
 Q水平 25%的字码可被修正<br />
 H水平 30%的字码可被修正<br />
p  : 二维码尺寸,可选范围1-10(具体大小和容错级别有关)(缺省值:3)<br /><br />
';
exit();
} else {
//调用二维码生成函数
createqr($url, $errorLevel, $PointSize, $margin);
}
//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
QRcode::png($value,'qrcode.png', $errorCorrectionLevel, $matrixPointSize, $margin);
$logo= 'logo.jpg';
$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);
}
//输出图片
Header("Content-type: image/png");
ImagePng($QR);
}
?>
文章部分内容参考:
分享张戈博客自用的php网址在线转换二维码的API源码
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/erweimalogo.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
不错,抄走抄走(滑稽
转载别忘记添加原文链接哦,这个是基本的礼仪哦
http://www.topscan.com/pingtai/没必要自己弄,免费的接口多得是
应该不支持https吧
ฅ( ̳• ◡ • ̳)ฅ大晚上来看看。
打赏与拓展。。。。拓展。。。。
这个位置过几天我会在弄弄的,暂时就这样凑合了,最近懒癌犯了>///<
好,这个功能不错.
其实这个我找了很久了,后来没办法,只好自己把网上搜到的捏合在一起了龴ↀ◡ↀ龴
我也是用的自己搭的,不过太懒了就没弄logo容错尺寸那些功能( ̄▽ ̄)
不过好像你和我都用了同一个二维码生成程序,但是我加了防盗链功能,毕竟流量耗不起Σ(  ̄□ ̄||)
拿出小本本记了下来,感觉是一个很厉害的功能
额!好夸张
一脸懵逼_(:3」∠)_
使用上并不是很难(´・_・`)