现在的位置: 首页学习笔记>正文
PHP验证码图片制作和加水印
发表于6年前 学习笔记 评论数 11

昨天学习了图片的要领,

今天我就来写个实战的小案例.

一个简单的验证码图片.

独家记忆

 

  1. <?php   
  2. header('Content-Type:image/png');   
  3. //先建立一个随机数   
  4. //   echo mt_rand(0,15);   
  5.    //这里有人可能会问怎么是零到15而不是0到9呢.   
  6.    //因为我想实现最简单的数字字母混搭效果.   
  7.    //十六进制 0-9 a-f   
  8.    //dechex()-----这个的意思就是将十进制转换成十六进制.   
  9. //echo  dechex(mt_rand(0,15));   
  10.   
  11. //这个数字混搭随机效果就出来了.   
  12. //想要随机四位的验证码就直接   
  13. //echo  dechex(mt_rand(0,15));   
  14. //echo  dechex(mt_rand(0,15));   
  15. //echo  dechex(mt_rand(0,15));   
  16. //echo  dechex(mt_rand(0,15));   
  17. //就可以了...   
  18. //但是这个思路是对的,我们最好是用循环来做最好.   
  19.   
  20.   
  21.   
  22. for ($i=0;$i<4;$i++)   
  23. {   
  24.     $yzm.=dechex(mt_rand(0,15));   
  25.     //这个.就是等于累计的过程   
  26.     //也就是等于$yzm=$yzm.dechex(mt_rand(0,15));   
  27. }   
  28.   
  29.   
  30.   
  31. //OK 这样随机循环四位的验证码就出来了.   
  32. //但是不是图片的额.   
  33. //我们再结合昨天学习的知识做个图片验证码效果出来.   
  34.   
  35.   
  36.   
  37. $img=imagecreatetruecolor(75,25);   
  38. //imagecreatetruecolor -- 新建一个真彩色图像   
  39. //昨天讲过了,今天还是标记下吧.   
  40. $ys=imagecolorallocate($img,0,201,255);   
  41. //imagecolorallocate -- 为一幅图像分配颜色   
  42. imagefill($img,0,0,$ys);   
  43. //填充颜色.   
  44. $white=imagecolorallocate($img,255,255,255);   
  45. imagestring($img,5,20,5,$yzm,$white);   
  46. imagepng($img);   
  47. //这个是输出浏览器   
  48. imagedestroy($img);   
  49. //这个是清除资源;   
  50.   
  51. //OK,这样我们就把一个简单的验证码图片做好了.   
  52.   
  53. 我们在学习一个小技巧;   
  54. <?php   
  55.   
  56.   
  57. //再续集学习一个用PHP给图片加小水印吧.   
  58.   
  59. //开始还是那几步.   
  60. //imagecreatefrompng -- 从 PNG 文件或 URL 新建一图像   
  61.   
  62.   
  63. header('Content-Type:image/jpg');   
  64.   
  65.   
  66. $img=imagecreatefromjpeg('qiang.jpg');   
  67. $ys=imagecolorallocate($img,255,255,255);   
  68.   
  69. imagestring($img,5,210,10,"www.mechao.cn",$ys);   
  70. imagejpeg($img);   
  71. imagedestroy($img);   
  72.   
  73. //OK 这样我们水印就打上去了.   
  74. //以后可以自己用这个方法打小水印也不错.   
  75. ?>  
  1. 这张移轴 好别扭。。。 一直纠结到底要不要给博文图片加水印 最后还是放弃了。是给大家行方便,个人对些赞的图加水印嗤之以鼻。

×
腾讯微博