PHP第十课 PHP图像处理函数以及验证码实现
程序员文章站
2022-05-04 17:52:01
...
如果你喜欢本博客,请访问本博客地址:http://blog.csdn.net/junzaivip 概要: gd库画图: 数学函数 PHP图片处理函数 图片处理函数使用场景 1.验证码 2.缩放 3.裁剪 4.水印 gd库画图: 1.准备画布 2.准备涂料 3.画画 4.输出图片 5.保存图片 6.关闭画布 ?php //准
如果你喜欢本博客,请访问本博客地址:http://blog.csdn.net/junzaivip
概要:
gd库画图:
数学函数
PHP图片处理函数
图片处理函数使用场景
1.验证码
2.缩放
3.裁剪
4.水印
gd库画图:
1.准备画布
2.准备涂料
3.画画
4.输出图片
5.保存图片
6.关闭画布
1.数学函数
2.图片处理函数
数学函数:
1.max();
2.min();
3.mt_rand();随机取一个数字
mt_rand随机取一个值
4.ceil();天花板
5.floor();
6.round();四舍五入
6.pi(); //π 取圆周率
图片处理函数使用场景
1.验证码
2.缩放
3.裁剪
4.水印
PHP中穿件图像的五个步骤
1.准备画布
2.准备涂料
3.在画布上画图像或者文字
4.输出最终图像或曹村最终图像
5.释放画布资源
绘制图像:
imagefill();
imagesetpixel();//画像素点
imageline();//画线
imagerectangle();//画一个矩形
imagepolygon();//画一个多边形
imageellipse();//画一个椭圆
imageare();画一个圆弧
imagechar();//水平的画一个字符
imagestring();//水平的画一行字符串
//画线
//添加干扰素
//画矩形:
//imagepolygon 画多边形_画三角形
画一个3D饼状图
//写文字:
//写单个字符:
//在图片上面写字
PHP 验证码的设计
php验证码设计:这里涉及到两个页面:index.php & reg.php
说明:
这个验证码版本只实现了验证图片的动态获取
前台注册页面的验证码和生成图片的验证码进行比较
验证码是由数字 小写字母 大写字母 随机组成
index.php//实现用户的注册
reg 用户注册页面
reg.php//用来验证验证码是否正确
"; // print_r($_SESSION); // echo ""; $vstr = strtolower($_SESSION['vstr']); if ($code==$vstr) { //实现页面的跳转 echo ""; }else{ echo ""; //echo "返回注册页面"; echo ""; } ?>
auth.php 用来生成验证码
php验证码设计:
页面跳转:
1.php跳转
header("location:index.php");
2.js跳转(建议使用)
echo "";
echo "";
js弹窗:
echo '';
2.缩放
获取图片的宽高
1.getimagesize(); //得到图片的大小 可以直接通过图片("lyf.jpg")就可以获取图片的所有信息
2.imagesx();//得到图片的宽 必须先获取图片的资源(imagecreatefromjpeg("lyf.jpg");),才能得到图片的信息
3.imagesy();//得到图片的高 必须先获取图片的资源,才能得到图片的信息
已经存在的图片形成画布资源:
1.imagecreatefromjpeg();
方法二获取图片的大小:
"; print_r($imgarr); echo ""; exit; $im = imagecreatefromjpeg("lyf.jpg"); echo $x . $y; header("content-type:image/jpeg"); imagejpeg($im); ?>
图片缩放函数:
imagecopyresampled();
图片等比例缩放:
($minh/$maxh)) { $rate = $minh/$maxh ; }else{ $rate = $minw / $maxw ; } $minw = floor($maxw * $rate); $minh = floor($maxh * $rate); $minim = imagecreatetruecolor($minw, $minh); //把大图缩放成小图 imagecopyresampled($minim, $im, 0, 0, 0, 0, $minw, $minh, $maxw, $maxh); //小图输出 header("content-type:{$maxm}"); //判断类型 switch ($maxt) { case 1: $imageout = "imagegif"; break; case 2: $imageout = "imagejpeg"; break; case 3: $imageout = "imagepng"; break; } $imageout($minim); $minfilename = "s_".$imgfile; $imageout($minim,$minfilename); // imagejpeg($im); //释放资源 imagedestroy($maxim); imagedestroy($minim); ?>
图片裁剪函数:
imagecopyresampled();
图片水印函数:
imagecopy();
3.裁剪
4.水印