>백엔드 개발 >PHP 튜토리얼 >用PHP实现渐变字体输出_PHP

用PHP实现渐变字体输出_PHP

WBOY
WBOY원래의
2016-06-01 12:30:441595검색

先演示一下:
用PHP实现渐变字体输出_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{
$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的函数才能支持中文!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.