Chinaz.com - 中国站长站

匿名投稿 投稿指南 RSS订阅 站长资讯通告:
搜索: 您的位置主页>精华转载>技术专题>阅读资讯:PHPWind 环境下编写动态签名图的基础教程

PHPWind 环境下编写动态签名图的基础教程

2007-07-25 14:09:10 来源:PHPWind中文网 作者:霓虹陌路 【 评论:0

建站日期写到LOGO图案上

-----------------------------详细说明-----------------------------------

需要注意的是LOGO图最好为PNG格式,

编写过程:

一、把你的 images/风格/logo.png 用Firework或其它的图像编辑器打开,在合适美观的地方描绘上需要显示的中文

(GD库是支持中文的,但是一般情况下把字体加载到PNG图像上会显示乱码,最好还是用图像编辑器在PNG上面写,一则代码要少一些,二则可以自定义艺术字体,美观)然后上传images/风格/。

最后把logo.png的属性改为只读,即444属性

二、在论坛根目录下新建一名为view.php的文件,在里面输入以下代码

(我只以调用建立日期来举例)

<?php

header("Content-type: image/png");

require_once('global.php');

if(file_exists(R_P."data/style/$skin.php") && strpos($skin,'..')===false){

@include Pcv(R_P."data/style/$skin.php");

}elseif(file_exists(R_P."data/style/$db_defaultstyle.php") && strpos($db_defaultstyle,'..')===false){

@include Pcv(R_P."data/style/$db_defaultstyle.php");

}else{

@include(R_P."data/style/wind.php");

}

$imgurl="$imgpath/$stylepath/logo.png";

$y=2007;//这里改为自己建站的开始年份

$m=03;//这里改为自己建站的开始月份

$d=19;//这里改为自己建站的开始日子

$buildtime=mktime(0,0,0,$m,$d,$y);

$c_time=intval(($timestamp-$buildtime)/(3600*24));

    $im    = imagecreatefrompng("$imgurl");

    $red = ImageColorAllocate($im, 255,0,0);

    imagestring($im, 9, 325, 80, $c_time, $red);

    imagepng($im);

    imagedestroy($im);

?>


保存


三、打开template/风格/head.htm


把<img src="$imgpath/$stylepath/logo.png" style=" margin:0 0.5% 5px" />

替换为<img src="view.php" style=" margin:0 0.5% 5px" /></a></td>即可。

-----------------------------代码解释-----------------------------------

代码解释

<?php

header("Content-type: image/png");//告诉浏览器这个PHP文件是一个图像

require_once('global.php');//加载PW根目录下的global.php文件,因为下面有函数要调用这个文件里面的

if(file_exists(R_P."data/style/$skin.php") && strpos($skin,'..')===false){

@include Pcv(R_P."data/style/$skin.php");

}elseif(file_exists(R_P."data/style/$db_defaultstyle.php") && strpos($db_defaultstyle,'..')===false){

@include Pcv(R_P."data/style/$db_defaultstyle.php");

}else{

@include(R_P."data/style/wind.php");

}//以上几行是定位你的风格,从require/header.php文件提取出来的

$imgurl="$imgpath/$stylepath/logo.png";//这里是提取你LOGO图的地址并将它赋与imgurl变量


$y=2007;//这里改为自己建站的开始年份

$m=03;//这里改为自己建站的开始月份

$d=19;//这里改为自己建站的开始日子

$buildtime=mktime(0,0,0,$m,$d,$y);//将年月日连接起来并转换 时间戳

$c_time=intval(($timestamp-$buildtime)/(3600*24));//现在的时间减去建站的时间并转换为天数的整型

$im    = imagecreatefrompng("$imgurl");//从imgurl这个图像地址中获取图像并建立新图

$red = ImageColorAllocate($im, 255,0,0);//定义颜色,255 0 0代表红色,即 #FF0000

imagestring($im, 5, 325, 80, $c_time, $red);//定义字符串,将以 5 号字的大小,X坐标于325,Y坐标于80,显示 $c_time这个变量,即建站日期,颜色为red这个变量,即上面一行定义的红色。

imagepng($im);

imagedestroy($im);//以上两行是PHP输出PNG图像的必备代码,不能丢了。

?>

其中倒数第3行中的X坐标和Y坐标请多多测试,找到最合适的位置。

以上代码的分析看懂后,你即可以在任何一张PNG图像上显示任何文字并另存为新的PNG图片。

除了调用日期以外,其余的数据也可以调用,并设计为动态签名图,但不在本教程的范围内。

最后一点注意,显示这类图片代码一定是

<img src=.../view.php>格式的,不是png或者其它的格式。



Tags:PHPWind   动态   签名图   教程  
责任编辑:阿小
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数: [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助