+ -
当前位置:首页 → 问答吧 → 使用GD库制作实时<<奥运金牌榜>>图片

使用GD库制作实时<<奥运金牌榜>>图片

时间:2008-08-14

来源:互联网

文/ davy   QQ:237153282  转载请保留版权信息
email:[email protected]
复制内容到剪贴板
代码:
<?php

/**
** @auther davy QQ:237153282
*
**捉取163金牌榜
**/
$str = file_get_contents("http://gold.2008.163.com/");
$keywords = preg_split ("/<tr class=\"tr[0-9]\">/", $str);
preg_match_all("/<a[^>]*>([^<]*)<\/a>/", $keywords[2],$first_match); //取第一名
preg_match_all("/<a[^>]*>([^<]*)<\/a>/", $keywords[3],$second_match);//取第二名
preg_match_all("/<a[^>]*>([^<]*)<\/a>/", $keywords[4],$third_match);//取第三名

/**
** @auther davy QQ:237153282
** date:2008-8-13
**
**
*/

$font_size = 11 ;
$font_size_lit = 9;
$font = "simfang.ttf"; //字体文件

/**
**字体排列行列位置
**/
$pos[0]["y"]=50;
$pos[1]["y"]=65;
$pos[2]["y"]=85;
$pos[3]["y"]=105;

$pos[1]["x"] =40;
$pos[2]["x"] = 80;
$pos[3]["x"] =110;
$pos[4]["x"] =130;
$pos[5]["x"] =150;



header("content-type:image/gif");
$nimage=imagecreatetruecolor(183,129);
$black=imagecolorallocate($nimage,153,51,0);
$simage =imagecreatefromgif('goldlist-bg.gif'); //背景图片
imagecopy($nimage,$simage,0,0,0,0,300,300);


/**
** 向图片绘入金,银,铜,总,这几个字
*/
imagettftext($nimage, $font_size_lit, 0, $pos[2]["x"], $pos[0]["y"], $black,$font,"金");
imagettftext($nimage, $font_size_lit, 0, $pos[3]["x"], $pos[0]["y"], $black,$font,"银");
imagettftext($nimage, $font_size_lit, 0, $pos[4]["x"], $pos[0]["y"], $black,$font,"铜");
imagettftext($nimage, $font_size_lit, 0, $pos[5]["x"], $pos[0]["y"], $black,$font,"总");

/**
** 将金牌榜 绘入图片
**/
for($i=0;$i<5;$i++)
{
$img_text_var_name = "img_text".($i+1);
$img_text_2_var_name = "img_text_2_".($i+1);
$img_text_3_var_name = "img_text_3_".($i+1);
$$img_text_var_name= iconv("GB2312","UTF-8",$first_match[1][$i]);
$$img_text_2_var_name = iconv("GB2312","UTF-8",$second_match[1][$i]);
$$img_text_3_var_name = iconv("GB2312","UTF-8",$third_match[1][$i]);
imagettftext($nimage, $font_size, 0, $pos[$i+1]["x"], $pos[1]["y"], $black,$font,$$img_text_var_name);
imagettftext($nimage, $font_size, 0, $pos[$i+1]["x"], $pos[2]["y"], $black,$font,$$img_text_2_var_name);
imagettftext($nimage, $font_size, 0, $pos[$i+1]["x"], $pos[3]["y"], $black,$font,$$img_text_3_var_name);
}
imagegif($nimage);
imagedestroy($nimage);
?>
[ 本帖最后由 davy 于 2008-8-13 18:08 编辑 ]
gold.part1.rar (1.54 MB)

2008-8-13 18:08, 下载次数: 7

gold.part2.rar (752.8 KB)

2008-8-13 18:08, 下载次数: 10

作者: davy   发布时间: 2008-08-13