免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 深空
打印 上一主题 下一主题

我的个人网站发布啦,嘿嘿 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-09-23 11:28 |只看该作者

我的个人网站发布啦,嘿嘿

老大,把你的图片验证码部分帖出来吧。想学学怎么处理背景杂色的。

论坛徽章:
0
12 [报告]
发表于 2004-09-23 13:03 |只看该作者

我的个人网站发布啦,嘿嘿

[quote]原帖由 "soFTangeL"]老大,把你的图片验证码部分帖出来吧。想学学怎么处理背景杂色的。[/quote 发表:


你的背景图片上带个杂色不就可以了么?

论坛徽章:
0
13 [报告]
发表于 2004-09-23 13:58 |只看该作者

我的个人网站发布啦,嘿嘿

原帖由 "EasyChen" 发表:


你的背景图片上带个杂色不就可以了么?

我就是想看看如何自动生成。杂色也要随机的啊。杂色不随机,那跟没有杂色有什么分别?

论坛徽章:
0
14 [报告]
发表于 2004-09-23 21:47 |只看该作者

我的个人网站发布啦,嘿嘿

丫头,回来吧

论坛徽章:
0
15 [报告]
发表于 2004-09-24 09:55 |只看该作者

我的个人网站发布啦,嘿嘿

好的,本来是支持truetype,后来这个空间不支持truetype,所以我改了代码,没有做什么测试:)

  1.     /**
  2.      * @name     : checkImage
  3.      * @author   : ShenKong <shenkong@php.net>;
  4.      * @version  : $id
  5.      * @package  : checkImage
  6.      * @copyright: ShenKong (http://www.openphp.cn)
  7.      */

  8.     function checkImage($info)
  9.     {
  10.         global $session;
  11.         $bgLength = $info["bgLength"];
  12.         $bgWidth  = $info["bgWidth"];
  13.         $fontSize = $info["fontSize"];
  14.         $length   = $info["length"];
  15.         $image    = imagecreatetruecolor($bgLength, $bgWidth);
  16.         $white    = imagecolorallocate($image, 0xAA, 0xAA, 0xAA);
  17.         imagefilledrectangle($image, 0, 0, $bgLength, $bgWidth, $white);
  18.         for ($i = 0; $i < 400; $i++)
  19.         {
  20.             imagestring($image, 1, rand(0, $bgLength), rand(0, $bgWidth) , "*", randColor($image));
  21.         }
  22.         
  23.         $str = md5(mt_rand());
  24.         $str = strtoupper($str);
  25.         //$str = str_replace(array("I", "1", "8", "B", "0", "D"), "", $str);
  26.         $str = substr($str, 0, $length);
  27.         $string = $str;
  28.         $session->;set("checkImageString", $string);
  29.         $w = ($bgLength - ($length - 1) * 3) / $length;
  30.         for ($i = 0; $i < $length; $i++)
  31.         {
  32.             imagestring($image, $fontSize, mt_rand($w * $i + 3 * $i, $w * ($i + 1) + 3 * $i - 12), mt_rand(0, $bgWidth - 14), substr($str, $i, 1), fontRandColor($image));
  33.         }
  34.             
  35.         //  设置白色为透明
  36.         //imagecolortransparent($this->;image, $white);
  37.         header("Content-Type: image/png");
  38.         imagepng($image);
  39.     }
  40.         
  41.     function fontRandColor($image)
  42.     {
  43.         return imagecolorallocate($image, mt_rand(0, 200), mt_rand(0, 100), mt_rand(0, 150));
  44.     }
  45.    
  46.     function randColor($image)
  47.     {
  48.         return imagecolorallocate($image, mt_rand(150, 255), mt_rand(150, 255), mt_rand(150, 255));
  49.     }

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP