专栏首页网站技术分享PHP,GD库绘制长文本自动换行
原创

PHP,GD库绘制长文本自动换行

php使用GD库绘制长文本,需要对文本进行换行处理

PHP

/**
 * @param $fontsize 字体大小
 * @param $angle 角度
 * @param $fontface 字体名称
 * @param $string 字符串
 * @param $width 预设宽度
 * 用于拆分大段文字换行
 * @return string
 */
protected function autowrap($fontsize, $angle, $fontface, $string, $width) {
    $content = "";
    preg_match_all("/./u", $string, $arr);
    $letter = $arr[0];
    foreach($letter as $l) {
        $teststr = $content.$l;
        $testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr);
        if (($testbox[2] > $width) && ($content !== "")) {
            $content .= PHP_EOL;
        }
        $content .= $l;
    }
    return $content;
}

处理好之后使用 imagettftext() 函数将文本段绘制在画布上

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • gd.so和php_gd2.so 有什么区别

    1、关于gd与gd2有什么区别,可以参加以下的链接,简单来说gd2就是gd的更新版,可以处理更多图像类型

    smy
  • 分布式监控系统Zabbix-3.0.3-完整安装记录(0)

    一、Linux下开源监控系统简单介绍 1)cacti:存储数据能力强,报警性能差 2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的...

    洗尽了浮华
  • 挖洞姿势:特殊的上传技巧,绕过PHP图片转换实现远程代码执行(RCE)

    我使用了一个特殊的图片上传技巧,绕过PHP GD库对图片的转换处理,最终成功实现了远程代码执行。 事情是这样的。当时我正在测试该网站上是否存在sql注入漏洞,不...

    FB客服
  • Linux基础(day41)

    11.10/11.11/11.12 安装PHP5 安装PHP5目录概要 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/loca...

    运维小白
  • 详解Centos7.2编译安装zabbix3.2(详细步骤)

    zabbix简介zabbix是完全开源的工具,整合了cacti和nagios等特性,SNMP(udp 161 udp 162)众多网络工具都支持此协议,比如常见...

    砸漏
  • 配置nginx支持php

    一、检查php是否已经安装,使用php -v,是否能够看到版本号,或者使用rpm -qa | grep php查看是否安装过。

    conanma
  • 11.10/11.11/11.12 安装PHP5

    安装PHP5目录概要 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.ph...

    运维小白
  • PHP图形图像处理之初识GD库

    php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF、PNG、JPEG、WBMP、XBM等。

    于果
  • CentOS7编译安装L(A|N)MP环境

    跟多详细配置参考:https://www.zybuluo.com/phper/note/89081

    小柒吃地瓜
  • 一起学习PHP中GD库的使用(二)

    在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码。今天的内容主...

    硬核项目经理
  • 学习PHP中好玩的Gmagick图像操作扩展的使用

    在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 P...

    硬核项目经理
  • 复习 - 文件上传

    当文件上传点未对上传的文件进行严格的验证和过滤时,就容易造成任意文件上传,包括上传动态文件,如asp/php/jsp等。如果上传的目录没有限制执行权限,导致上传...

    Naraku
  • IT面试干货:PHP面试题汇总及答案

    随着近两年来互联网潮流的发展,不少人选择php程序开发的学习。所以今天济南IT培训优就业的老师将与大家一起聊一聊PHP面试会问什么?、 ? PHP程序员经典面试...

    企鹅号小编
  • 源码编译安装PHP5、PHP7 原

    说明: 安装完成PHP后会在Apache中自动添加相应模块,同时在Apache配置文件/usr/local/apache2.4/conf/httpd.conf中...

    阿dai学长
  • ThinkSNS Plus PHP开发概述

     Plus (读音:[plʌs],全称:ThinkSNS+ [θɪŋk es en es plʌs],是 ThinkSNS 系列产品一个重要版本,其软件识别名称...

    ThinkSNS
  • CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    http://www.osyunwei.com/archives/10003.html

    砸漏
  • PHP图形图像处理

    当图像处理完成后,可以使用imagedestroy()函数销毁图像资源来释放内存。

    白胡杨同学
  • PHP全栈学习笔记7

    图形图像处理技术,gd库的强大支持,PHP的图像可以是PHP的强项,PHP图形化类库,jpgraph是一款非常好用的强大的图形处理工具。

    达达前端
  • PHP图片处理实现图片压缩、合并、水印等

    Intervention Image是一个开源的PHP图像处理和操作库,可不依赖于框架单独使用,也提供了对Laravel的友好支持。它提供了一种创建,编辑和合成...

    用户8851537

扫码关注云+社区

领取腾讯云代金券