php生成可变色背景文字

<?php

//header ("Content-type: image/gif");
$ip=$_SERVER['REMOTE_ADDR'];
$str="您好,婴儿手推车网友情提示,您的IP:".$ip;
$width=30;
$height=100;
$fontsize=16;
$strlen=lenStr($str);
$picwidth=$strlen*$width;
$im = imagecreate ($picwidth,$height);
$bkcolor = imagecolorallocate ($im, 250, 250, 250);
$count=0;


for($i=0;$i<$height;$i++){
   $fontcolor=imagecolorallocate($im,255,200+intval(50*$i/$height),intval(213*$i/$height));
   imagefilledrectangle($im,0,$i,$picwidth,$i+1,$fontcolor);
   //参数*,x1,y1,x2,y2
}

for($i=0;$i<strlen($str);$i++){
   if(ord(substr($str,$i,1))>0xa0){
     $code=iconv("GB2312","UTF-8",substr($str,$i,2));
     $i++;
   }else{
     $code=iconv("GB2312","UTF-8",substr($str,$i,1));
   }
   $font="code/f".rand(1,12).".ttf";
   //echo($font);
   $fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand(0,120),mt_rand(0,120));
   imagettftext ($im, $fontsize, rand(-20,20), $count*$width, $fontsize+5, $fontcolor, $font, $code);
   //参数*,字体大小,倾斜度,x,y,颜色,字体
   $count++;
}
//可选,增加杂点
for($i=0;$i<255;$i++){
   $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
   imagesetpixel($im,mt_rand(0,$picwidth),mt_rand(0,$height),$fontcolor);
}
//

for($i=0;$i<15;$i++){       
   $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
   imagearc($im,mt_rand(-10,$picwidth),mt_rand(-10,$height),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor);
}


//imagefill($im,0,0,$bkcolor);
imagegif ($im);
imagedestroy ($im);


function lenStr($str) {
   for($i=0;$i<strlen($str);$i++){
     if(ord(substr($str,$i,1))>0xa0){
       $i++;
     }
     $count++;
   }
   return $count;
}
?>
<?php       
/*********************************     
* Code by Gently     
* 24/07/07     
*严正声明:验证码为程序随机生成,“某种巧合”的词语组合属于正常现象,     
*某些别有用心的人不要借题发挥!     
*********************************/      
/*
session_start();       
header("Content-type: image/PNG");       
$w=180;       
$h=60;       
$fontface="code/5.ttf";   //字体文件,请自行指定       
$str = "婴儿手推车"
$code="";       
for($i=0;$i<4;$i++){       
   $Xi=mt_rand(0,strlen($str)/2);       
   if($Xi%2) $Xi+=1;       
   $code.=substr($str,$Xi,2);       
}
$_SESSION['code']=$code;         //赋值给SESSION       
$im=imagecreatetruecolor($w,$h);       
$bkcolor=imagecolorallocate($im,250,250,250);       
imagefill($im,0,0,$bkcolor);       
for($i=0;$i<15;$i++){       
   $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));       
   imagearc($im,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor);       
}       
for($i=0;$i<255;$i++){       
   $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));       
   imagesetpixel($im,mt_rand(0,$w),mt_rand(0,$h),$fontcolor);       
}       
for($i=0;$i<4;$i++){       
   $fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand(0,120),mt_rand(0,120)); //这样保证随机出来的颜色较深。       
   $codex=iconv("GB2312","UTF-8",substr($code,$i*2,2));
   imagettftext($im,mt_rand(20,24),mt_rand(-60,60),40*$i+20,mt_rand(30,35),$fontcolor,$fontface,$codex);       
}       
imagegif($im);
*/
?> 
本文章由 婴儿手推车网提供(http://www.bjshibang.com)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值