• 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 福彩3dapp:php文本转图片自动换行的方法

    来源:本网整理

    彩票双色球历史开奖结果 www.s9h6.com 今天无意中浏览网面的时候发现一个长微博,它可以将文本转成png图片,于是乎就研究一下PHP文本转图片的方式,其实只要是用到了PHP的扩展库,GD库来生成图片,再通过图像函数生成,代码写出来后,发现如果文字太多了,图片就会超过屏幕的宽度,导致浏览器右拉条的出现,于是,想想有没有什么办法可以使图片能够自动换行,通过GG,发现了一篇文章,通过判断字符串和截取字符串再拼接起来实现文本图片自动换行,以下贴出此代码,以学习之中:

    复制代码 代码如下:
    <?php
    header ("Content-type: image/png");
    mb_internal_encoding("UTF-8"); // 设置编码

    function autowrap($fontsize, $angle, $fontface, $string, $width) {
    // 这几个变量分别是 字体大小, 角度, 字体名称, 字符串, 预设宽度
     $content = "";

     // 将字符串拆分成一个个单字 保存到数组 letter 中
     for ($i=0;$i<mb_strlen($string);$i++) {
      $letter[] = mb_substr($string, $i, 1);
     }

     foreach ($letter as $l) {
      $teststr = $content." ".$l;
      $testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr);
      // 判断拼接后的字符串是否超过预设的宽度
      if (($testbox[2] > $width) && ($content !== "")) {
       $content .= "\n";
      }
      $content .= $l;
     }
     return $content;
    }

    $bg = imagecreatetruecolor(300, 290); // 创建画布
    $white = imagecolorallocate($bg, 255, 255, 255); // 创建白色
    $text = "前段时间练习使用 PHP 的 GD 库时,为了文本的自动换行纠结了很久。虽然可以通过插入 \n 实现换行,但考虑到文本中既有中文又有英文,强制限定每多少个文字就换行的效果很差。后来终于找到了一个英文下的自动换行的方法,其大概原理是将空格作为分隔符,将字符串分割为一个个单词,然后再一个接一个地拼接在一起,判断其长度是否超过画布,若超过则换行再拼接,否则继续拼接??悸堑街形男枰扛鑫淖侄疾鹂?,所以我进行了一点修改,完整代码如下。";
    $text = autowrap(12, 0, "simsun.ttc", $text, 280); // 自动换行处理

    // 若文件编码为 GB2312 请将下行的注释去掉
    // $text = iconv("GB2312", "UTF-8", $text);

    imagettftext($bg, 12, 0, 10, 30, $white, "simsun.ttc", $text);
    imagepng($bg);
    imagedestroy($bg);
    ?>

  • 本文相关:
  • PHP中使用cURL实现Get和Post请求的方法
  • smarty 缓存控制前的页面静态化原理
  • ajax取消挂起请求的处理方法
  • php页面消耗内存过大的处理办法
  • php 判断数组是几维数组
  • php实现单链表的实例代码
  • 比较简单的百度网盘文件直链PHP代码
  • PHP中图片等比缩放的实例
  • PHP 自定义错误处理函数trigger_error()
  • php中DOMElement操作xml文档实例演示
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 彩票双色球历史开奖结果 - 频道导航
    Copyright © 2017 彩票双色球历史开奖结果 www.s9h6.com All Rights Reserved
  • 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 爱彩乐彩票数据专家手机版 什么店稳赚不赔 安徽时时快3开奖结果走势图 香港赛马会特马主论坛 河北20选5复式中奖计算器 彩票走势图源码 江苏快3走走势图带连线 信誉搏彩平台 淘宝彩票 大乐透中奖奖金计算 江西快3昨天开奖结果 体彩开奖 从化福利彩票销售点 欢乐五子棋(腾讯版) 福彩3d稳赚投注方法