php生成二维码海报
2021/4/8 14:56:07
本文主要是介绍php生成二维码海报,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先安装poster
composer require xuxuxuzw/poster
实例代码
use Xuxuxuzw\Poster\Poster; $background_image_path = "./static/haibao.jpg";//定义海报背景图路径 //视情况而定,可自行下载文字字体 $font_path = './css/Xiangyang-DG-wen.ttf';//定义海报使用的文字字体路径 //定义用户头像信息 $head_portrait = [ 'width' => 120, 'height' => 120, 'img_path' => './user/avatar.png', //头像路径 'is_circular' => true ]; //定义用户昵称信息 $nickname = [ 'user_name' => 'ceshi', 'font_path' => $font_path, 'font_size' => 18, 'color' => '#3399ff' ]; //定义海报保存位置(如果直接浏览器输出可不用) $image_save_path = "./upload/fdsfnsfnjdfne.jpg"; //保存到本地路径 // 图片存在 输出路径 if (file_exists($image_save_path)){ return $image_save_path; } #获取带logo的二维码图片资源 //创建海报 $qrcode = new Poster(250, 250); //获取logo图片在二维码的坐标(也可以自己写具体的坐标值,这里提供了 左上角、左下角、右上角、右下角、中上、中心、中下七个点坐标的快速获取) $logo_xy = $qrcode->getPosition(0, 50, 50)[Poster::POSITION_CENTER]; //这里采用链式,可以直接在后面追加 $image = $qrcode->addQrCode('www.baidu.com', [250, 250], Poster::POSITION_CENTER)//添加一个二维码 ->addImage('./static/logo.jpg', $logo_xy, [50, 50])//添加一个图片(logo) ->getImageResource(); //这里的二维码不单独使用,所以直接获取图片资源回来即可,生成海报使用 render 方法 #生成一张海报 //创建海报 $poster = new Poster(800, 1422); //这里使用到了用户头像和昵称,直接使用 addUser 方法 //ps:头像和昵称可以一起展示,也可以单独展示,一起展示时可以设置昵称在头像的右侧和下方,默认昵称在头像右侧 $poster->user_name_location_direction = Poster::USER_NAME_LOCATION_RIGHT;//设置昵称在头像右侧 //快速获取二维码图片在海报的坐标,这里是获取右下角坐标 $qrcode_xy = $poster->getPosition(20, 250, 250)[Poster::POSITION_RIGHT_BOTTOM]; $poster->addImage($background_image_path, [0, 0], [800, 1422])//添加一个图片(背景图) ->addImageResource($image, $qrcode_xy, [250, 250])//添加一个图片资源(上方得到的二维码) ->addQrCode('https://me.csdn.net/xzw1315915745', [250, 250], Poster::POSITION_RIGHT_BOTTOM)//直接添加二维码方式,可以直接设置二维码在海报的位置,但无 logo ->addUser($head_portrait, $nickname, Poster::POSITION_TOP_LEFT_CORNER)//添加用户头像和昵称信息 ->addText('A B C', 72, [80, 330], '#33ff99', $font_path)//添加文字, ->render($image_save_path);//浏览器输出图片,传入图片路径,即可直接输出到服务器 render($image_save_path); return $image_save_path;
提醒:需要修改组件片段代码
这篇关于php生成二维码海报的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享