标题 | 《PHP编程最快明白》第七讲:php图片验证码与缩略图 |
范文 | 这个是输出4个验证码的例子,对于汉字,需要font文件和imagettftext函数,用到的时候大家再网上搜索吧。 实例22图片验证的核心代码 代码如下: <?php //header("content-type:image/png"); $num='1234'; $imagewidth=60; $imageheight=18; $numimage=imagecreate($imagewidth,$imageheight); imagecolorallocate($numimage,240,240,240); for($i=0;$i<strlen($num);$i++){ $x=mt_rand(1,8)+$imagewidth*$i/4; $y=mt_rand(1,$imageheight/4); $color=imagecolorallocate($numimage,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150)); imagestring($numimage,5,$x,$y,$num[$i],$color); } for($i=0;$i<200;$i++){ $randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255)); imagesetpixel($numimage,rand()%70,rand()%20,$randcolor); } imagepng($numimage); imagedestroy($numimage); ?> 这个是输出4个验证码的例子,对于汉字,需要font文件和imagettftext函数,用到的时候大家再网上搜索吧。你要产生随机数,那有mt_rand函数;你还要用到session保存这个随机数;如果需要转成utf-8,需要iconv函数。 实例23缩略图 代码如下: <?php classSimpleImage{ var$image; var$image_type; functionload($filename){ $image_info=getimagesize($filename); $this->image_type=$image_info[2]; if($this->image_type==IMAGETYPE_JPEG){ $this->image=imagecreatefromjpeg($filename); }elseif($this->image_type==IMAGETYPE_GIF){ $this->image=imagecreatefromgif($filename); }elseif($this->image_type==IMAGETYPE_PNG){ $this->image=imagecreatefrompng($filename); } } functionsave($filename,$image_type=IMAGETYPE_JPEG,$compression=75,$permissions=null){ if($image_type==IMAGETYPE_JPEG){ imagejpeg($this->image,$filename,$compression); }elseif($image_type==IMAGETYPE_GIF){ imagegif($this->image,$filename); }elseif($image_type==IMAGETYPE_PNG){ imagepng($this->image,$filename); } if($permissions!=null){ chmod($filename,$permissions); } } functionoutput($image_type=IMAGETYPE_JPEG){ if($image_type==IMAGETYPE_JPEG){ imagejpeg($this->image); }elseif($image_type==IMAGETYPE_GIF){ imagegif($this->image); }elseif($image_type==IMAGETYPE_PNG){ imagepng($this->image); } } functiongetWidth(){ returnimagesx($this->image); } functiongetHeight(){ returnimagesy($this->image); } functionresizeToHeight($height){ $ratio=$height/$this->getHeight(); $width=$this->getWidth()*$ratio; $this->resize($width,$height); } functionresizeToWidth($width){ $ratio=$width/$this->getWidth(); $height=$this->getheight()*$ratio; $this->resize($width,$height); } functionscale($scale){ $width=$this->getWidth()*$scale/100; $height=$this->getheight()*$scale/100; $this->resize($width,$height); } functionresize($width,$height){ $new_image=imagecreatetruecolor($width,$height); imagecopyresampled($new_image,$this->image,0,0,0,0,$width,$height,$this->getWidth(),$this->getHeight()); $this->image=$new_image; } } $newfile=UPLOAD_DIR."/icons/".md5($_SESSION['USER']->email).".jpg";//上传文件保存的目录 $image=newSimpleImage(); $image->load($_FILES['icons']['tmp_name']);//上传的临时文件名 $image->resizeToWidth(80);设置宽度 $image->save($newfile); ?> |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。