日常整理PHP中简单的图形处理(经典)

前端之家收集整理的这篇文章主要介绍了日常整理PHP中简单的图形处理(经典)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.加载GD库

GD库是一个开放的动态创建图像、源代码公开的函数库,可以从官方网站处下载。目前,GD库支持GIF、PNG、JPEG、WBMP和XBM等多种图像格式,用于对图像的处理。

GD库在PHP 5中是默认安装的,但要激活GD库,必须修改PHP.ini文件。将该文件中的“;extension=PHP_gd2.dll”选项前的分号“;”删除,保存修改后的文件并重新启动Apache服务器即可生效。

2.创建一个简单的图像

使用GD2函数库可以实现各种图形图像的处理。创建画布是使用GD2函数库来创建图像的第一步,无论创建什么样的图像,首先都需要创建一个画布,其他操作都将在这个画布上完成。在GD2函数库中创建画布,可以通过imagecreate()函数实现。

使用imagecreate()函数创建一个宽度为200像素,高度为60像素的画布,并设置画布颜色RGB(225,66,159),最后输出一个GIF格式的图像,代码如下:

PHP;">

3.使用GD2函数在照片上添加文字

PHP中的GD库支持中文,但必须要以UTF-8格式的参数来进行传递,如果使用imageString()函数直接绘制中文字符串就会显示乱码,这是因为GD2对中文只能接收UTF-8编码格式,并且默认使用英文字体,所以要输出中文字符串,必须对中文字符串进行转码,并设置中文字符使用的字体。否则,输出的只能是乱码。

使用imageTTFText()函数文字“这是一个测试”输出到图像中,代码如下:

PHP;">

4.PHP生成验证码

创建一个checks.PHP文件文件中使用GD2函数创建一个4位的验证码,并将生成的验证码保存到session中:

PHP;"> PHP session_start(); header("content-type:image/png"); //设置创建图像的格式 $image_width=70; //设置图像宽度 $image_height=18; //设置图像高度 srand(microtime()*100000); //设置随机数的种子 for($i=0;$i<4;$i++){ //循环输出一个4位的随机数 $new_number.=dechex(rand(0,15)); } $_SESSION[check_checks]=$new_number; //将获取随机数验证码写入到SESSION变量中

$num_image=imagecreate($image_width,$image_height); //创建一个画布
imagecolorallocate($num_image,255,255); //设置画布的颜色
for($i=0;$i<strlen($_SESSION[check_checks]);$i++){ //循环读取SESSION变量中的验证码
$font=mt_rand(3,5); //设置随机的字体
$x=mt_rand(1,8)+$image_width*$i/4; //设置随机字符所在位置的X坐标
$y=mt_rand(1,$image_height/4); //设置随机字符所在位置的Y坐标
$color=imagecolorallocate($num_image,mt_rand(0,100),150),200)); //设置字符的颜色
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color); //水平输出字符
}
imagepng($num_image); //生成PNG格式的图像
imagedestroy($num_image); //释放图像资源
?>

创建一个用户登录的表单并调用checks.PHP在表单中输出图像的内容

PHP;"> PHP session_start(); if($_POST["Submit"]!=""){ $checks=$_POST["checks"]; if($checks==""){ echo ""; } if($checks==$_SESSION[check_checks]){ echo ""; }else{ echo ""; } } ?> <@R_301_338@ http-equiv="Content-Type" content="text/html; charset=gb2312"> rand<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>的应用
用户名PHP" width="70" height="18" border="0" align="bottom">登录">

以上内容是小编给大家分享的有关PHP中简单的图形处理,希望大家喜欢。

猜你在找的PHP相关文章