PHP GD如何生成不失真的文字,如何将文字自动换行? - 技术问答
答案:4 悬赏:50 手机版
解决时间 2021-01-04 22:39
- 提问者网友:兔牙战士
- 2021-01-04 01:06
见上图,当输出中文字时是非常清晰的,而输出英文和数字以及符号时就模糊了,如何让它输出任何文字都能像中文字那样清晰?还有一个问题,如何让文字自动换行? 例如,指定的宽度为300,当文字的长度超出300的范围时就自动换行。代码如下,如何改呢?谢谢[ol][*][/ol]
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-01-04 02:10
public function textToImage($text,$tfont=\'jianqi.TTF\',$tsize=\'16\'){??ini_set(\"memory_limit\",\"128M\");??$text = strip_tags($text);??//计算图片大小??$textinfo = ImageTTFBBox($tsize, 0, $tfont, $text);??$text_w = $textinfo[2] - $textinfo[6]+20;??$text_h = $textinfo[3] - $textinfo[7]+10;??//创建图片??$pic = imagecreate($text_w,$text_h);? ???//生成空图片??$black = ImageColorAllocate($pic, 0,0,0);? ?? ?//设置一个黑色??$white = imagecolorallocate($pic,255,255,255);??//设置背景色??imagefill ($pic,0,0,$white);? ?? ? //填充背景色??//加入乱码??self::randOnImage($pic,$text_w,$text_h); ??//写入文字??ImageTTFText($pic, $tsize, 0, 5, 20, $black, $tfont, $text); ??//输出??self::output($pic);}至于自动换行 我是将内容通过截取然后在每行后面追加\\n
全部回答
- 1楼网友:詩光轨車
- 2021-01-04 05:06
原帖由 于 2008-12-8 10:56 发表 [i]文字换行是不能被系统控制的文字是draw上去的,不是write,跟html有本质上的区别也就是服务器是把图片当作一个画布,把文字画上去的要换行,自己截取多写入几次~ 感谢兄弟的回复 那你的意思是 我把要写的内容写进数组 然后循环输出!? 是这个意思嘛……
- 2楼网友:神也偏爱
- 2021-01-04 04:19
文字换行是不能被系统控制的文字是draw上去的,不是write,跟HTML有本质上的区别也就是服务器是把图片当作一个画布,把文字画上去的要换行,自己截取多写入几次~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯