效果图

二维码生成方法采用phpqrcode插件 ,采用命名空间设计在extend建立phpqrcode文件夹,下面在建立QRcode.php

QRcode.php

代码太长附下载链接
下载链接

use phpqrcode\QRcode;//生成二维码图片返回链接地址public function qrcode(){$recommend = "10003";$url = config('WEB_URL')."?recommend=".$recommend;$path = "./public/qrcode/".$recommend.".jpg";if(!file_exists('./public/qrcode/')){mkdir('./public/qrcode/',0777,true);}$level=3;$size=5;$errorCorrectionLevel =intval($level);$matrixPointSize = intval($size);QRcode::png($url, $path, $errorCorrectionLevel, $matrixPointSize, 2);$host = config('WEB_URL');$r_path =  "/public/qrcode/".$recommend.".jpg";$img = $host.'/'.$r_path;return $img;}
/*** 生成宣传海报* @param  array    参数,包括图片和文字* @param  string   $filename 生成海报文件名,不传此参数则不生成文件,直接输出图片* @return [type] [description]*/function createPoster($config=array(),$filename=""){//如果要看报什么错,可以先注释调这个header if(empty($filename)) header("content-type: image/png");$imageDefault = array('left'=>0,'top'=>0,'right'=>0,'bottom'=>0,'width'=>100,'height'=>100,'opacity'=>100);$textDefault =  array('text'=>'','left'=>0,'top'=>0,'fontSize'=>32,             //字号'fontColor'=>'255,255,255', //字体颜色'angle'=>0,);$background = $config['background'];//海报最底层得背景  //背景方法$backgroundInfo = getimagesize($background);$backgroundFun = 'imagecreatefrom'.image_type_to_extension($backgroundInfo[2], false);$background = $backgroundFun($background);$backgroundWidth = imagesx($background);    //背景宽度$backgroundHeight = imagesy($background);   //背景高度$imageRes = imageCreatetruecolor($backgroundWidth,$backgroundHeight); $color = imagecolorallocate($imageRes, 0, 0, 0);  imagefill($imageRes, 0, 0, $color);  // imageColorTransparent($imageRes, $color);    //颜色透明imagecopyresampled($imageRes,$background,0,0,0,0,imagesx($background),imagesy($background),imagesx($background),imagesy($background));//处理了图片if(!empty($config['image'])){foreach ($config['image'] as $key => $val) {$val = array_merge($imageDefault,$val);$info = getimagesize($val['url']);$function = 'imagecreatefrom'.image_type_to_extension($info[2], false);if($val['stream']){     //如果传的是字符串图像流$info = getimagesizefromstring($val['url']);$function = 'imagecreatefromstring';}$res = $function($val['url']);$resWidth = $info[0];$resHeight = $info[1];//建立画板 ,缩放图片至指定尺寸$canvas=imagecreatetruecolor($val['width'], $val['height']); imagefill($canvas, 0, 0, $color);//关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h) imagecopyresampled($canvas, $res, 0, 0, 0, 0, $val['width'], $val['height'],$resWidth,$resHeight); $val['left'] = $val['left']<0?$backgroundWidth- abs($val['left']) - $val['width']:$val['left'];$val['top'] = $val['top']<0?$backgroundHeight- abs($val['top']) - $val['height']:$val['top'];//放置图像imagecopymerge($imageRes,$canvas, $val['left'],$val['top'],$val['right'],$val['bottom'],$val['width'],$val['height'],$val['opacity']);//左,上,右,下,宽度,高度,透明度 }}//处理文字if(!empty($config['text'])){foreach ($config['text'] as $key => $val) {$val = array_merge($textDefault,$val);list($R,$G,$B) = explode(',', $val['fontColor']);$fontColor = imagecolorallocate($imageRes, $R, $G, $B); $val['left'] = $val['left']<0?$backgroundWidth- abs($val['left']):$val['left'];$val['top'] = $val['top']<0?$backgroundHeight- abs($val['top']):$val['top'];imagettftext($imageRes,$val['fontSize'],$val['angle'],$val['left'],$val['top'],$fontColor,$val['fontPath'],$val['text']); }}   //生成图片  if(!empty($filename)){$res = imagejpeg ($imageRes,$filename); //保存到本地imagedestroy($imageRes);if(!$res) return false;return $filename;}else{imagejpeg ($imageRes);          //在浏览器上显示imagedestroy($imageRes);}  }

绘图合并

public function user_qrcode(){$config = array('text'=>array(array('text'=>'不看二生','left'=>182,'top'=>100,'fontPath'=>'qrcode/simhei.ttf',     //字体文件'fontSize'=>36,             //字号'fontColor'=>'255,255,255',       //字体颜色'angle'=>0,),array('text'=>'我已使用,邀请你成为口播大师','left'=>182,'top'=>160,'fontPath'=>'qrcode/simhei.ttf',     //字体文件'fontSize'=>24,             //字号'fontColor'=>'255,255,255',       //字体颜色'angle'=>0,)),'image'=>array(array('url'=>'',       //图片资源路径'stream'=>0,'left'=>250,'top'=>-130,'right'=>0,'bottom'=>0,'width'=>190,'height'=>190,'opacity'=>100),array('url'=>'','left'=>40,'top'=>50,'right'=>0,'stream'=>0,'bottom'=>0,'width'=>120,'height'=>120,'opacity'=>100),),'background'=>'',);//$filename = "./public/qrcode/"."1.jpg";//echo $this->createPoster($config,$filename);$this->createPoster($config);die;}

http://www.taodudu.cc/news/show-2113822.html

相关文章:

  • 与敏捷大师对话
  • react 项目使用qrcode.react生成二维码,并提供批量下载
  • 倍加福二维码测试1-串口助手测试
  • 基于MATLAB的条形码二维码检测系统
  • 安卓投屏大师_【投屏】全平台全设备无线投屏工具幕享
  • MVS同时读取多个二维码
  • python大师_GitHub - lltx/Python-100-Days: Python - 100天从新手到大师
  • 二维码生成与读取。
  • java生成二维码
  • java创建二维码
  • 【免费办公软件】万彩办公大师教程丨二维码生成器
  • html自绘二维码
  • 计算机多媒体技术实验报告【合集】
  • 明解C语言(入门篇)第十一章
  • 明解c语言入门篇有用吗,各位初学者在用明解C语言(入门篇)的时候花费了多长时间?...
  • 明解C语言。初级版 部分练习代码
  • 明解C语言(入门篇)第十章
  • 明解C语言(基础篇)—第七章
  • 明解C语言(第3版)入门篇-【部分】第五章练习题解(练习5-9至5-12)
  • 明解C语言第七章习题
  • 明解C语言(第3版)入门篇 - 第六章练习题解
  • 《明解C语言 入门篇》第4章 程序的循环控制 练习题解答
  • 明解c语言 练习,《明解C语言》示例代码和练习代码[第8章]
  • 明解c语言答案第11章,《明解C语言第3版.入门篇》练习代码 第11章
  • 明解c语言第7章答案,明解C语言 入门篇 第六章答案
  • 明解C语言第四章习题
  • 明解C语言第三章习题
  • 明解C语言
  • 明解c语言入门篇第三版第九章答案,明解C语言 入门篇 第一章答案
  • 明解java.pdf_明解C语言:中级篇 PDF下载

thinkphp5.1合成带二维码海报图片相关推荐

  1. PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现

    PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现 之前记录过一篇文章,不过那只是简单将二维码合成到海报中去,这次还要合成头像,而且是圆形.所需要素材就不一一列举,直接代码吧 1.先获取用 ...

  2. vuejs中html2canvas使用 背景图和二维码海报图片保存到一张图片上 生成一张海报并下载

    不少的项目中都用到了二维码加背景图片生成海报的宣传图片,实现方法就是canvas绘制到一张上后进行下载.html2canvas的技巧在这里不在讲解. 二维码和背景图片进行定位. 在传统场合,这类功能往 ...

  3. java使用模板导出excel,带二维码,图片及图片压缩

    先上效果图吧 需求就是如上图的样式导出excel,第一列是根据第二列内容生成的二维码,最后一列是数据关联的附件图片 模板如下图: 模板中以{{$fe:开头,dataList为后台传递Map<St ...

  4. 淘宝客商品推广图片合成(包含二维码、图片、价格)

    之前在淘宝联盟里发现通过app分享出来的图片形式挺好看的.于是在网上找一下相关资料(并没有找到)...然后自已写了一个图片合成..看图(下图就是合成出来的效果图.和联盟分享出来的差异不大..) 已经将 ...

  5. 小程序开发-利用canvas实现保存二维码海报到本机

    场景及需求 在小程序开发过程中,经常需要实现保存某个页面为带小程序码的二维码海报图片到本地,然后用于分享或者发朋友圈等操作. 主要技术点及小程序相关api 技术注意事项 小程序的canvas与H5 c ...

  6. jquery.qrcode生成带logo的二维码,同时生成带二维码的好友分享图片(js与canvas实现二维码和图片合成的海报)

    首先给大家看一下效果图(纯jQuery前端技术): 提供一下demo 源代码和jquery.qrcode文件下载: https://download.csdn.net/download/qq15577 ...

  7. Tp5生成带头像二维码海报(带文字描述,居中调整)

    Tp5生成带头像二维码海报(带文字描述,居中调整) 三张海报中随机生成一张展现 /*** 获取随机海报* Author: yanjie <823986855@qq.com>* Date: ...

  8. thinkphp生成带二维码的海报

    阿里云搞活动,想要抓紧买 用thinkphp生成带二维码的海报功能. 准备:公众号二维码图片一张 背景图片一张 将二维码和背景图片合成的方法,可添加到common/common/function.ph ...

  9. php生成推广二维码海报、合成图片demo

    php生成推广二维码海报.合成图片 1.海报背景图.背景图一般存服务器,程序本地读取: 2.推广二维码.可以是二维码图片链接,也可以是字符串图像流.如果自己生成二维码,详见phpqrcode官网,地址 ...

  10. 小程序画布合成二维码海报图,并保存到相册

    小程序画布合成二维码海报图,并保存到相册 实现效果如下图: 步骤分析 1,先获取需要合成的海报和二维码. 2,获取图片的本地路径,如果图片不是网络连接则不需要此操作. 3,通过手机型号,根据屏幕的大小 ...

最新文章

  1. 时间序列(四)ARIMA模型与差分
  2. Redis持久存储-AOFRDB
  3. 调试coffee script 的一个技巧
  4. 【计算机网络】数据链路层 : 轮询访问 介质访问控制 ( 轮询协议 | 令牌传递协议 )
  5. cocos2d-x游戏实例(15)-纵版射击游戏(2)
  6. 业务活动监视器(BAM)2.0带来的革命
  7. fiddler如何设置过滤https_手把手教你如何给网站设置https
  8. 中国恒大:正接触独立第三方投资者
  9. C#中,控制台模式可以使用定时器吗?
  10. javascript中闭包的真正作用
  11. git-合并分支指定commits
  12. Atitit.hibernate体系结构大总结
  13. 3D打印软件——Repetier-Host 简单的使用总结
  14. 计算机台账管理需求分析,结合工作经验研究数据中心机房管理统计的需求和实方式论文...
  15. 阿里云对象存储OSS费用内容的说明
  16. 解决Centos7网络连接的问题
  17. emmc/ufs, sd
  18. 如何让一个内向的人锻炼与人交流能力?
  19. seo从入门到精通_SEO外包_seo技术教学案例培训学习研究中心自学网
  20. 三段式与四段式耳机插头的区别

热门文章

  1. CI框架SESSION使用
  2. 高斯-勒让德积分学习
  3. html站点地图怎么做,sitemap网站地图(站点地图)如何制作以及作用
  4. RESTClient 使用
  5. 车机没有carlife可以自己下载吗_论互联哪家强 Carlife/Carplay针尖对麦芒
  6. transCAD求解两路径问题中遇到的问题和解决方法
  7. 手机12306买卧铺下铺技巧_手机上买火车票怎么买下铺
  8. Hessian矩阵(黑塞矩阵)
  9. VC6.0下载及安装
  10. SATA系列专题之三:3.4 Transport Layer传输层Error处理机制解析