二维码

先上图

<?phpinclude 'lib/phpqrcode.php';
require_once 'lib/image.php';
$value = "localhost/1?sourcetype=3" . "&tablenum=2";//二维码内容$errorCorrectionLevel = 'L';//容错级别
$matrixPointSize = 20;//生成图片大小
//生成二维码图片
//开始生成
$color = [[255, 255, 255],//背景色[82, 103, 220],//定位角的颜色[82, 103, 220],//中间内容的颜色
];
//参数 活动模板图片,二维码url,模板内二维码的位置
/*** $template 背景图* $url      二维码内容* $sx,$y    坐标* $color    二维背景颜色*/
$template = 'qrimg.png';//背景图
$url = $value;
function getActivityImg($template, $url, $x, $y, $color)
{//二维码中间添加logo/******************************固定logo图片大小*******************************/$logo_raw = "1212.jpg";//logo图$imgHandle = new Image_process("$logo_raw");$imgHandle->fixSizeImage(150, 150); //固定logo图片大小值/******************************固定logo图片大小*******************************/$logo = "1212.jpg";//固定大小logo图路径$QR = "base.png";$last = "last.png";$errorCorrectionLevel = 'Q'; //防错等级$matrixPointSize = 8; //二维码大小//生成二维码//参数内容:二维码储存内容,生成存储,防错等级,二维码大小,白边大小\QRcode::png($url, $QR, $errorCorrectionLevel, $matrixPointSize, 1, false, $color);//合并logo跟二维码-----------------start$QR = imagecreatefromstring(file_get_contents($QR));$logo = imagecreatefromstring(file_get_contents($logo));$QR_width = imagesx($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);imagepng($QR, $last); // 生成带log的二维码图片 存储到last
//    unlink('base.png');//删除二维底图//合并logo跟二维码-----------------end//合成带logo的二维码图片跟 模板图片--------------start$path_1 = $template;$path_2 = $last;//创建一块画布,并从 PNG 文件或 URL 地址载入一副图像$image_1 = imagecreatefrompng($path_1);$image_2 = imagecreatefrompng($path_2);$image_3 = imageCreatetruecolor(imagesx($image_1), imagesy($image_1));$color = imagecolorallocate($image_3, 255, 255, 255);imagefill($image_3, 0, 0, $color);imageColorTransparent($image_3, $color);imagecopyresampled($image_3, $image_1, 0, 0, 0, 0, imagesx($image_1), imagesy($image_1), imagesx($image_1), imagesy($image_1));imagecopymerge($image_3, $image_2, $x, $y, 0, 0, imagesx($image_2), imagesy($image_2), 100);//合成带logo的二维码图片跟 模板图片--------------end//输出到本地文件夹$fileName = 'qr';$EchoPath = $fileName . '.png';imagepng($image_3, $EchoPath);imagedestroy($image_3);//画图createCanvas($EchoPath);//返回生成的路径
//    echo "<img src='" . $EchoPath . "'>";
//    echo "<img src='/qrcode/logo/logo.png'>";unlink('base.png');unlink('last.png');die;
}getActivityImg($template, $url, $x = 43, $y = 44, $color);//生成画布
function createCanvas($qrImg)
{//require_once 'lib/font.php';header('Content-type: text/html; charset=UTF8'); // UTF8不行改成GBK试试,与你保存的格式匹配
//第一:设定标头,告诉浏览器你要生成的MIME 类型header("Content-type: image/png");
//第二:创建一个画布,以后的操作都将基于此画布区域$codew = 500;$codeh = 560;
//最外层画布$codeimg = imagecreatetruecolor($codew, $codeh);
//底部画布$im = imagecreatetruecolor(500, 100);
//获取画布颜色$red = imagecolorallocate($codeimg, 255, 0, 0);$white = imagecolorallocate($codeimg, 255, 255, 255);$green = imagecolorallocate($codeimg, 75, 222, 26);$bule = imagecolorallocate($codeimg, 82, 103, 220);
//第三:填充画布背景颜色imagefill($codeimg, 0, 0, $white);
//底部颜色imagefill($im, 0, 0, $bule);
//第四:绘制线条 + 填充文字...
//imageline($codeimg, 0, 00, 30, 60, $white);
//imageline($codeimg, 0, 00, 50, 60, $white);
//imageline($codeimg, 0, 00, 80, 60, $white);$font_url = 'lib/msyh.ttf';
//填充文字
//imagestring($codeimg, 88, 210, 40, "storename", $bule);$content = "阿里巴巴!";imagettftext($codeimg, 12, 0, 210, 47, $bule, $font_url, $content);
//imagettftext($codeimg,15,0,210,40,$bule,$font_url);
//二维码$im_new = imagecreatefrompng("$qrImg");//返回图像标识符$im_new_info = getimagesize("$qrImg");//取得图像大小,返回一个数组。该函数不需要用到gd库。//添加二维码到画布imagecopy($codeimg, $im_new, 66, 75, 0, 0, $im_new_info[0], $im_new_info[1]);//返回布尔值
//添加一个小画布imagecopy($codeimg, $im, 0, 490, 0, 0, 500, 160);//返回布尔值
//底部字体$low_font = '111号桌扫码点餐';imagettftext($codeimg, 12, 0, 188, 527, $white, $font_url, $low_font);
//第五:输出创建的画布imagepng($codeimg);//imagepng($im);//输出到页面。如果有第二个参数[,$filename],则表示保存图像
//第六:销毁画布imagedestroy($codeimg);
//    echo "<img src='qr.png'>";}

文件包下载

PHP 生成带logo二维码并修改背景颜色,利用画布布局二维样式相关推荐

  1. iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))

    原文链接:http://www.jianshu.com/p/36e9f012ef39 生成带 logo 的二维码 区域截屏相关 -- 由3033分享 开篇 最近项目需要搞了几个相对独立的小功能,今天有 ...

  2. zxing生成带logo的二维码

    倒Zxing依赖 implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.2.1' 代码段 import android.graphics.Bitma ...

  3. Android Studio 生成二维码、生成带logo的二维码

    1.生成二维码: 2.生成logo的二维码: 一.引入依赖 首先在libs文件目录下放进jar包zxing.jar,要下载zxing.jar就点击链接:下载zxing.jar(记得点击"Cd ...

  4. 使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小

    使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小  * 可选是否带logo,可选是否保存二维码图片:结果返回base64编码的图片数据字符串  * 页面显示:< ...

  5. asp.net 后台生成二维码及生成带logo的二维码

    asp.net 后台生成二维码及生成带logo的二维码,此处将生成二维码和带Logo的二维码写在一起的,需要自己区分一下. 直接上代码 using System; using System.Colle ...

  6. vue 生成带logo的二维码 qrcode-vue 支持下载图片 实例详解

    最近的项目上有个需求,生成带logo的二维码,网上大部分都是基于JQ插件jQuery.qrcode.对于vue项目并不适用,翻阅了大量资料后,我找到了qrcode-vue这款基于vue的生成二维码的插 ...

  7. python—生成带logo的二维码(零基础向)

    在python 中可以用qrcode 库将文本.图片.视频链接等生成二维码,并用图片处理库PIL 中的Image 方法添加自定义图片,制作带有logo的二维码.本文以Windows 系统为例进行演示. ...

  8. Golang使用qrcode生成二维码,以及生成带logo的二维码

    添加并引用依赖 go get github.com/boombuler/barcodeimport ("github.com/skip2/go-qrcode" ) 1.生成字节形式 ...

  9. .NET ZXING 生成带logo的二维码和普通二维码及条型码

    工作中使用到了,就随笔记下了.希望可以帮助有需要的同学们. /// <summary>         /// 生成二维码         /// </summary>     ...

最新文章

  1. 震惊了!关于JAVA复习的最佳敏捷实践!进BAT就是个毛毛雨!
  2. 《构建高可用Linux服务器》第一版勘误表(附脚本下载)
  3. VVOL、VASA — 为什么如此重要
  4. mysql命令行安装报错_centos命令行安装mysql随机密码查看方法(遇到问题及其解决办法)...
  5. django 灵活的后台查询
  6. MyBatis 源码解读-XMLConfigBuilder
  7. 嵌入式控制系统和计算机系统
  8. Kubernetes端到端解决方案Part3:如何正确部署Kubernetes
  9. 回帖整理和其他一些想法
  10. c++扫雷游戏代码_C语言学习教程,用C语言编写扫雷游戏
  11. python大数据毕设选题
  12. 运输问题的表上作业法
  13. linux中UDP编程
  14. 清华大学保研计算机推荐信模板,清华保研推荐信模板
  15. 《疯狂Python讲义》数字转人民币大写完整代码
  16. 2021-02-26
  17. 'javac'不是内部或外部命令,也不是可运行的程序或批处理文件.
  18. 腾讯云服务器漏洞怎么修复,腾讯云安全中心监测到微软披露的99个漏洞,win系统云服务器用户尽快修复...
  19. “临沂公众号推广平台”的操作流程是怎样的?
  20. mac 时间机器 禁用_如何在Mac上禁用屏幕时间通知

热门文章

  1. win10更新驱动后无声音问题
  2. Web3j使用教程(1)
  3. idea弹窗 Placing the unmodified important.txt in the zip file with the agent jar in the same directo
  4. 【头歌实验】五、Python循环结构
  5. 最好用的发短信(验证码、语音短信)接口
  6. 开源物业管理系统的对比
  7. Pymoo:优化算法的性能指标(Performance Indicators)
  8. Firefox 尝试与您指定的代理服务器连接时被拒绝
  9. vue项目报错:warning Disallow self-closing on HTML void elements (<img/>)
  10. NNI speedup_model()代码笔记