全球主机交流论坛

标题: PHP怎么把文字生成图片啊? [打印本页]

作者: 老T    时间: 2011-1-31 18:47
标题: PHP怎么把文字生成图片啊?
文字在一个txt里面!
谢谢啦!大家帮忙看看是那里错了啊!
  1. <?   
  2. header("Content-type:image/png");
  3. $file_dir="1.txt";
  4. $fp=fopen($file_dir,"r");
  5. $content=fread($fp,filesize($file_dir));//读文件
  6. fclose($fp);   
  7. $fplen=strlen($fp);
  8. //计算字符字数  
  9. $mailaddressimages=imagecreate($fplen*10,25);
  10. //获得文件名图片信息。  
  11. $lenadd=$fplen;   
  12. $fontsize="4";   
  13. $center=(imagesx($mailaddressimages)-8.3*strlen($fp))/2;   
  14. $mailimagesbackground=ImageColorAllocate($mailaddressimages,231,196,43);   
  15. $mailimagesfacecolor=ImageColorAllocate($mailaddressimages,0,0,0);   
  16. ImageString($mailaddressimages,$fontsize,$center,5,$fp,$mailimagesfacecolor);   
  17. Imagepng($mailaddressimages);   
  18. ImageDestroy($mailaddressimages);   
  19. ?>   
复制代码

[ 本帖最后由 老T 于 2011-1-31 22:33 编辑 ]
作者: helone    时间: 2011-1-31 19:01
理论是可以的,这得请教PHP高手。
作者: zyypp    时间: 2011-1-31 19:02
你可以先参考下这个,然后自己做些改动
http://topic.csdn.net/u/20071224 ... c-63a0b9d77402.html

ps:手机看帖中……
作者: qun    时间: 2011-1-31 19:23
理论上可以,实力操作也是可以的。

ps:我也是手机党
作者: wdlth    时间: 2011-1-31 19:27
GD库
作者: mslxd    时间: 2011-1-31 19:39
这个不是理论上可以,是实际上也可以,验证码就是这么干的
作者: lxfy    时间: 2011-1-31 20:34
不难,网上有例程,改改就能用了
作者: Kokgog    时间: 2011-1-31 20:37
中文只要注意字体和utf-8就行了...顺便说句,debian安全列表今天有个freetype的安全警告,注意升级...
作者: 老T    时间: 2011-1-31 22:00
标题: 回复 8# 的帖子
都是英文和数字,不管它!
作者: 老T    时间: 2011-1-31 22:01
标题: 回复 3# 的帖子
谢谢啦
作者: zyypp    时间: 2011-1-31 22:33
  1. <?php
  2. header("Content-type: image/png");
  3. $str = file_get_contents('txt.txt');//调用文本
  4. $height=200;//图片高度
  5. $width=200;//图片宽度
  6. $im=@imagecreate($width,$height) or die("Cannot Initialize new GD image stream");
  7. //颜色设置
  8. $background_color = imagecolorallocate($im, 255, 255, 255);//背景颜色
  9. $text_color= imagecolorallocate($im, 0, 0, 0);//文字颜色
  10. imagefill($im,0,0,$background_color);//填充背景
  11. $str=iconv("Gb2312","UTF-8",$str);//输入文字
  12. $font = 'arial.ttf';//字体文件
  13. ImageTTFText($im,15/*字体大小*/,0/*旋转*/,10/*左边距*/,20/*上边距*/,$text_color,$font,$str);
  14. imagepng($im);//输出图像
  15. imagedestroy($im);//清理
  16. ?>
复制代码

[ 本帖最后由 zyypp 于 2011-1-31 22:35 编辑 ]
作者: 老T    时间: 2011-1-31 22:37
标题: 回复 11# 的帖子
well done! 感谢!
作者: 老T    时间: 2011-1-31 22:39
标题: 回复 11# 的帖子
我那段有点问题!帮看看吧!
作者: zyypp    时间: 2011-1-31 22:45
你既然这样
$content=fread($fp,filesize($file_dir));//读文件
用了,为何下面不调用它呢
已经帮你修改好了
  1. header("Content-type:image/png");
  2. $file_dir="verchk.txt";
  3. $fp=fopen($file_dir,"r");
  4. $content=fread($fp,filesize($file_dir));//读文件
  5. fclose($fp);
  6. $fplen=strlen($content);
  7. //计算字符字数
  8. $mailaddressimages=imagecreate($fplen*10,25);
  9. //获得文件名图片信息。
  10. $lenadd=$fplen;
  11. $fontsize="4";
  12. $center=(imagesx($mailaddressimages)-8.3*strlen($content))/2;   
  13. $mailimagesbackground=ImageColorAllocate($mailaddressimages,231,196,43);   
  14. $mailimagesfacecolor=ImageColorAllocate($mailaddressimages,0,0,0);   
  15. ImageString($mailaddressimages,$fontsize,$center,5,$content,$mailimagesfacecolor);   
  16. Imagepng($mailaddressimages);
  17. ImageDestroy($mailaddressimages);
复制代码





欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4