ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php生成二维码海报

2021-04-08 14:30:24  阅读:195  来源: 互联网

标签:海报 Poster image 二维码 path 250 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;

提醒:需要修改组件片段代码

在这里插入图片描述

标签:海报,Poster,image,二维码,path,250,php
来源: https://blog.csdn.net/wh510856826/article/details/115518733

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有