时间:2021-07-01 10:21:17 帮助过:16人阅读
- <br> <?php <br>session_start(); <br>//生成验证码图片 <br>Header("Content-type: image/PNG"); <br>$im = imagecreate(44,18); // 画一张指定宽高的图片 <br>$back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色 <br>imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中 <br>$vcodes = ""; <br>srand((double)microtime()*1000000); <br>//生成4位数字 <br>for($i=0;$i<4;$i++){ <br>$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色 <br>$authnum=rand(1,9); <br>$vcodes.=$authnum; <br>imagestring($im, 5, 2+$i*10, 1, $authnum, $font); <br>} <br>$_SESSION['VCODE'] = $vcodes; <br>for($i=0;$i<100;$i++) //加入干扰象素 <br>{ <br>$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); <br>imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数 <br>} <br>ImagePNG($im); <br>ImageDestroy($im); <br>?> <br> <br> 基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。 <br> 使用的地方直接 <br> <img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。