欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP第十课 PHP图像处理函数以及验证码实现

程序员文章站 2022-05-28 12:38:52
...

如果你喜欢本博客,请访问本博客地址: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.关闭画布



PHP图片处理函数
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

用户注册页面


姓   名:
密   码:
验证码: PHP第十课 PHP图像处理函数以及验证码实现

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.水印