四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php文本轉圖片自動換行的方法

今天無意中瀏覽網面的時候發現一個長微博,它可以將文本轉成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技術php文本轉圖片自動換行的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 电影网1905免费版| 烽火硝烟里的青春演员表| 抖音主页| 爱情赏味期| 柳堡的故事演员表| 爱上老妈1994年电影完整版| 西班牙女郎| 一闪一闪亮晶晶电影免费| 微信头像男生| 极品白嫩嫩模酒店援交土豪av| 宁波电视台| 实用咒语大全| bustybuffy| 大尺度激情戏片段| 双重曝光韩剧在线观看| 数字记忆法编码100| 糟老头视频| 少年派二普通话版| 凯特摩丝| 青春残酷物语| 头像图| 五上语文第六单元口语交际| 芝加哥急救| 追捕演员表名单| 郑婉雯| 柳堡的故事演员表| 张小波简历及个人资料简介| 爱一个人好难吉他谱| 可爱美女跳舞蹈视频| 隐藏的歌手第一季中国版| 尚大庆| 潘美烨| 改善运气的微信头像| 美国伦理小樱桃1| 教师政治学习笔记| 金瑞亨为艺术奉献的电影有哪些 | 回响在耳边的____声450字| 彭丹丹主演的经典电影| 免费头像图片女生| 大决战全部演员表介绍图片| 《新亮剑》电视剧|