前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP实现占位图片功能

PHP实现占位图片功能

作者头像
申霖
发布于 2020-11-19 06:10:10
发布于 2020-11-19 06:10:10
1.1K00
代码可运行
举报
文章被收录于专栏:小白程序猿小白程序猿
运行总次数:0
代码可运行

使用PHP来实现占位图片功能,本次开发以thinkphp框架为例,以下为注意事项:

1、生成图片最大宽度为2048px;

2、未设置文本内容,默认使用的是宽 * 高形式;

3、引入字体为本地字体文件,路径为绝对地址;

话不多少,先上代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 生成占位图片
 * @return \think\Response
 */
public function data()
{
    // 图片宽度
    $width = input('get.width') > 2048 ? 2048 : input('get.width');
    // 图片高度
    $height = input('get.height');
    // 文本大小
    $size = $height * 0.1;
    // 设置文本内容
    $content = $width . ' x ' . $height;
    // 创建画布
    $im = imagecreatetruecolor($width, $height);
    // 设置文本颜色
    $textColor = imagecolorallocate($im, 158, 158, 158);
    // 设置画布颜色
    $backgroundColor = imagecolorallocate($im, 97, 97, 97);
    // 创建画布并且填充颜色
    imagefilledrectangle($im, 0, 0, $width, $height, $textColor);
    // 设置字体文字路径
    $fontPath = realpath('./msyh.ttf');
    //计算文本范围
    $position = imagettfbbox($size, 0, $fontPath, $content);
    $x        = ($width - $position[2] - $position[0]) / 2;
    $y        = ($height - $position[3] - $position[5]) / 2;
    // 写入文本
    imagefttext($im, $size, 0, $x, $y, $backgroundColor, $fontPath, $content);
    // 开启缓存
    ob_start();
    // 输出图像
    imagepng($im);
    // 获取并清除缓存
    $content = ob_get_clean();
    imagedestroy($im);
    // 输出图像
    return response($content, 200, ['Content-Length' => strlen($content)])->contentType('image/png');
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
(1)绘制线条: imageline($p1, $p2, $p3, $p4, $p5, $6)
IT工作者
2021/12/20
1.1K0
php 利用GD库实现一个验证码功能(封装成了函数可自定义配置验证码外观及功能)
使用 GD库来完成验证码功能非常简单,库中大量函数 API 堆在一起就成了这个功能,下面代码注释中详细介绍了每段代码的功能,非常适合新手。
1338335202用户
2022/12/19
5240
php 利用GD库实现一个验证码功能(封装成了函数可自定义配置验证码外观及功能)
php绘制图片验证码
验证码是一种安全保护机制,在注册时要求必须有人工操作进行验证,用于防止垃圾注册机大量注册用户账号占用服务器内存从而使服务器瘫痪。 图片验证码的实现十分简单。首先从指定字符集合中随机抽取固定数目的字符,以一种不规则的方法画在画布上,再适当添加一些干扰点和干扰元素,最后将图片输出,一张崭新的验证码就完成了。 前端代码如下: <!DOCTYPE html> <html> <head>     <meta http-equiv="content-type" content="text/html;charset=u
lonelydawn
2018/02/09
1.5K0
php绘制图片验证码
php扩展之画图
<?php //print_r(gd_info());//取得当前安装的 GD 库的信息 创建画布 /*$im=imagecreatetruecolor(300, 200); //创建颜料 $gray
贵哥的编程之路
2020/10/28
6220
简单数字图片验证码的生成及识别
网站上的验证码的作用是保护网站安全,一般网站都要通过验证码来防止机器大规模注册,机器暴力破解数据密码等危害。
字节脉搏实验室
2020/03/19
2.4K0
简单数字图片验证码的生成及识别
PHP生成推广海报的方法
经常有这样的需求,就是需要在生成推广海报,包含指定的二维码,分享出去别人扫码之后就可以确定用户推荐关系。
猿哥
2019/07/25
1.5K0
PHP实现简单汉字验证码
经过粗略的搞吧搞吧,中文验证码也就显示出来了,当然一般网站使用的时候会有一个汉字库种子,从里面随机取出特定个数的汉字显示,最后就是记录到session进行验证了。
黄啊码
2020/05/29
2K0
php实现图片添加描边字和马赛克的方法
本文实例讲述了php实现图片添加描边字和马赛克的方法。分享给大家供大家参考。具体实现方法如下:
超级小可爱
2023/02/20
7210
一起学习PHP中GD库的使用(二)
在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码。今天的内容主要就是和画图有关,所以最后我们也会做一个非常简单的图片验证码的例子。
硬核项目经理
2021/08/06
1K0
一起学习PHP中GD库的使用(二)
分享emlog海报代码 带食用方法
本代码是从null扣下来的  有兴趣的可以去买他的主题https://www.qiuzq.cn/Theme/null.html
用户8099761
2023/05/11
1900
PHP实现微信小程序生成海报
由于之前处理这块业务基本都是前端处理的,所以后端还真没写过小程序生成海报,但经过谷歌和百度搜索之后发现,微信小程序生成海报的代码真的很少,可以说基本没有,那我这里就把我用了2小时时间写的PHP合并微信小程序海报的代码分享出来给大家
程序猿的栖息地
2022/04/29
1.7K0
PHP实现微信小程序生成海报
PHP图形图像处理之初识GD库
php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF、PNG、JPEG、WBMP、XBM等。
于果
2021/08/25
1.1K0
PHP100上的图片上传程序
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php /****************
Yiiven
2022/12/15
1.6K0
PHP GD库
GD库 图片处理的典型流程 1:造画布(或读入一幅图作画布) 2:造颜料 3:利用颜料在画布上写字或填充颜色或画形状 4:输出/生成图片 5:销毁画布 1、GD库 之生成验证码 创建画布(imagecreatetruecolor) 往图片写字(imagestring) 形成图片(image[jpeg|png|gif]) 销毁画布(imagedestroy) 2、GD库 之生成缩略图 读取图片,形成资源(imagecreatefrom***) 创建缩略画布(imagecreatetruecolor) 复制图片
Yiiven
2022/12/15
2.3K0
php函数imagettftext使用注意事项
我们在做生成分享图,生成验证码时,避免不了要使用此函数,此函数的作用是在图片上生成对应的字体。
PHP学习网
2022/08/03
6560
clicaptcha中文点击验证码开发经验总结
  现在的验证码真是越来越高级了,12306 的找图验证码,极验的拖动式验证码,还有国外的一些黑科技,能智能判断你是不是机器人的验证码。   验证码的更新迭代让我突然对传统验证码一下子不满足了,出于挑战自我和对自己技能的修炼,我用了一周的时间写了一个简单的 demo ,然后又花了一周时间将其优化成插件的形式,于是 Clicaptcha 就诞生了。   简单介绍下 Clicaptcha ,它是由 click 和 captcha 这两个单子合并而成,顾名思义,这是一个点击验证码,那怎么个点击验证呢?整个操作流程
胡尐睿丶
2018/01/11
2.7K0
clicaptcha中文点击验证码开发经验总结
PHP使用GD库生成文件
<?php $xgcs_result = $this->get_xgcs_result($key); if (!empty($xgcs_result) && isset($xgcs_result['t
用户7657330
2020/08/14
9510
【干货】验证码的常见类型总结
验证码是一种区分用户是计算机和人的公共全自动程序。简单来说,验证码就是验证操作是人还是机器。下面我就总结一下常见的验证码类型都有哪些?
用户9953929
2023/05/09
1.3K0
相关推荐
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验