赞助广告 赞助广告
  当前位置:网络学院PHP技术图像处理 → 用PHP实现渐变字体输出
用PHP实现渐变字体输出
日期:2005年8月2日 作者: 人气: 查看:[大字体 中字体 小字体]
先演示一下:



今天刚写的,还热乎着呢,代码如下:

  CODE:  
<?php
Header("Content-type: image/png");

$txt=$_GET['txt']."(刷新我会变色哦)";
$i=strlen($txt);
$width=16*strlen($txt);
$height=42*(int)($width/500+1);
$im = imagecreate($width,$height);

$background_color=imageColorAllocate($im,223,223,223);
$white=imageColorAllocate($im,255,255,255);
$color1=imageColorAllocate($im,255,128,128);
$red=imageColorAllocate($im,255,0,0);
$color3=imageColorAllocate($im,128,64,64);
$yellow=imageColorAllocate($im,255,255,0);
$color4=imageColorAllocate($im,255,128,0);
$color5=imageColorAllocate($im,128,128,0);
$green=imageColorAllocate($im,0,255,0);
$color6=imageColorAllocate($im,0,128,0);
$blue=imageColorAllocate($im,0,0,255);
$pink=imageColorAllocate($im,255,0,128);
$black=imageColorAllocate($im,0,0,0);

$array=array($color1,$red,$color3,$color4,$color5,$green,$color6,$blue,$pink,$black,$white);

$x=1;
$y=40;
$count=1;

for($t=0;$t<$i;$t++)
{
        $temp=rand(0,10);
        $color=$array[$temp];
        if (ord($txt[$t]) >= 128)
        {
                if($x+32>500)
                {
                        $x=1;
                        $y=40+$count*41;
                        $count++;
                }
                $temp=$txt[$t++].$txt[$t];
                                $temp=mb_convert_encoding($temp, "UTF-8", "gb2312");
                imagettftext($im,24, 0, $x, $y, $color,"tupian/finish/simsun.ttc",$temp);
                $x+=32;

        }
        else
        {
                if($x+8>500)
                {
                        $x=1;
                        $y=40+$count*41;
                        $count++;
                }
                imagettftext($im,24, 0, $x, $y, $color,"tupian/finish/simsun.ttc",$txt[$t]);
                $x+=16;
        }
}
ImagePNG($im);
ImageDestroy($im);

?>

使用说明:将上面的代码保存为1.php!

1、在浏览器中输入http://你的网址/1.php?txt=文字  可直接观看效果
2、在论坛中以这样的形式发帖:{img}http://你的网址/1.php?txt=文字{/img}(实际用时把大括号换为中括号)

PS:如果你的空间不支持mb_convert_encoding函数,你需要有把gb2312转为utf-8的函数才能支持中文!

(出处:CodeFans转载)

相关文章:
 
·PHP生成静态页面详解
·新版Mysql管理大师phpMyAdmin发布
·如何将PHP的结果输出到非PHP页面中
·PHP的content-type=text/html问题
·PHP中的日期处理
·php编写大型网站问题集
·RPM安装PHP后应如何配置 Apache
·PHP中如何在输出内容后再输出头信息?
·基于什么样的理由 PHP 比其它 CGI 好呢?
·不使用OCI8接口如何连接PHP和Oracle
相关软件:
 
·PHP v4.3.9 RC1
·PHP4.0与MySQL动态网站编程 (PDG)
·PHP高级编程 (PDG)
·PHP高级开发技巧与范例 (PDG)
·PHP v5.0.1
·PHP For linux v5.0.1
·PHP & MySQL Web网络编程 (PDG)
·PHP4 网页编程实例解析 (PDG)
·PHP4 宝典 (PDG)
·PHP v4.0 网络开发技术 (PDG)
  特别推荐
  热点TOP10