|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。突变 先演示一下:
[img=336 onload=javascript:resizepic(this) border=0 style=,42 src=]http://www.ckuyun.com/[/img]
明天刚写的,还热呼着呢,代码以下:
<?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的函数才干撑持中文!
把例子全部敲进去试验,完成一遍以后就会有心得了,因为你会发现为啥我的程序和书上的一模一样就是结果不正确。新手学习的时候必须承认,不容易,因为我也是过来人,你会发现原来有那么多常用的语句,函数都要记。 |
|