PHP编程:用PHP完成突变字体输入
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。突变 先演示一下:http://www.ckuyun.com/
明天刚写的,还热呼着呢,代码以下:
<?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的函数才干撑持中文!
把例子全部敲进去试验,完成一遍以后就会有心得了,因为你会发现为啥我的程序和书上的一模一样就是结果不正确。新手学习的时候必须承认,不容易,因为我也是过来人,你会发现原来有那么多常用的语句,函数都要记。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 基础有没有对学习php没有太大区别,关键是兴趣。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
页:
[1]